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