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

相关推荐
更深兼春远6 天前
Python到底怎么用于测试?
自动化测试·软件测试·python·接口测试
小乙说7 天前
JMeter接口测试
jmeter·接口测试
测试老哥10 天前
接口测试的测试用例应该怎么写?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
测试199813 天前
Jmeter接口自动化测试:Jmeter变量的使用
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·接口测试
2601_9622845016 天前
Python 和Java 哪个更适合做自动化测试?
java·自动化测试·python·接口测试·性能测试
蒸鱼Yuzheng16 天前
游戏协议兼容怎么测:新旧客户端、字段演进、灰度与回滚
接口测试·灰度发布·游戏测试·版本兼容·协议测试
测试199818 天前
Jmeter接口自动化生成测试报告html格式详解
自动化测试·python·测试工具·jmeter·职场和发展·测试用例·接口测试
岁月失语唯石能言22 天前
《 Web项目测试实战:博客系统的功能/接口/自动化/性能全流程测试报告》
自动化测试·功能测试·selenium·jmeter·接口测试·压力测试·性能测试
程序员杰哥23 天前
如何做接口测试?
自动化测试·python·测试工具·职场和发展·测试用例·接口测试·postman