Airborne使用教程

1.安装环境

前提条件:系统已安装Ruby

打开终端输入如下命令

bash 复制代码
gem install airborne

或者在Gemfile添加

ruby 复制代码
gem 'airborne'

然后运行bundle install

2.编写脚本

在项目中新建api_tests_spec.rb文件

以GET接口"https://www.thunderclient.com/welcome"为例编写测试用例

ruby 复制代码
require 'airborne'
Airborne.configure do |config|
  config.base_url = 'https://www.thunderclient.com'
end
describe 'GET/welcome' do
  it 'Verify Response' do
    get '/welcome'
    expect_status(200)
    expect_json('supports.graphql', true)
  end
end

3.运行测试

或者在终端输入

bash 复制代码
rspec api_tests_spec.rb

4.更多用法

常用断言方法

Airborne 提供了丰富的断言方法,可以快速验证 API 响应内容:

  • expect_status(status_code): 验证 HTTP 响应状态码。

  • expect_json_types(path, key: type): 验证 JSON 的键值类型,例如 :string, :int, :array, :bool。

  • expect_json(path, key: value): 验证 JSON 的键值内容。

  • expect_header(key, value): 验证响应头的值。

  • expect_body_contains(content): 验证响应体中是否包含某个字符串。

高级用法

配置认证token

如果你的 API 需要认证,可以通过配置 Headers:

ruby 复制代码
Airborne.configure do |config|
  config.headers = { 'Authorization' => 'Bearer your_token' }
end

使用动态变量

你可以将 API 响应结果存储到变量中,以便在后续测试中使用:

ruby 复制代码
describe 'Dynamic testing' do
  it 'uses the created resource' do
    post '/users', { name: 'Alice' }
    user_id = json_body[:id]
    
    get "/users/#{user_id}"
    expect_json(name: 'Alice')
  end
end

更多操作可以参考官方文档:https://github.com/brooklynDev/airborne

相关推荐
测试开发技术3 小时前
AI时代我们要如何玩抓包测试:Reqable + AI Agent
软件测试·人工智能·测试工具·接口测试·agent·抓包
.又是新的一天.6 天前
AI接口测试03(操作数据库/管理文档/mock/自动化测试/定时任务/AI导师)
软件测试·测试工具·接口测试·apifox
阿蔹19 天前
TestHub智能测试管理平台框架介绍
自动化·接口测试·测试·测试平台
更深兼春远1 个月前
Python到底怎么用于测试?
自动化测试·软件测试·python·接口测试
小乙说1 个月前
JMeter接口测试
jmeter·接口测试
测试老哥1 个月前
接口测试的测试用例应该怎么写?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
测试19981 个月前
Jmeter接口自动化测试:Jmeter变量的使用
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·接口测试
2601_962284501 个月前
Python 和Java 哪个更适合做自动化测试?
java·自动化测试·python·接口测试·性能测试
蒸鱼Yuzheng1 个月前
游戏协议兼容怎么测:新旧客户端、字段演进、灰度与回滚
接口测试·灰度发布·游戏测试·版本兼容·协议测试