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 天前
【超详细实战攻略】Jmeter逻辑控制器中if控制器、模块控制器、测试片段的使用方法
jmeter·接口测试·性能测试·接口依赖
MJH8276 天前
2024Selenium自动化常见问题及解决方式!
自动化测试·软件测试·测试工具·jmeter·接口测试·postman·测试工程师
测试老哥9 天前
Newman+Jenkins实现接口自动化测试
自动化测试·软件测试·python·测试工具·jenkins·测试用例·接口测试
测试杂货铺11 天前
接口自动化测试框架(pytest+allure+aiohttp+用例自动生成)
自动化测试·软件测试·测试工具·职场和发展·测试用例·pytest·接口测试
FIT2CLOUD飞致云17 天前
新增工作台模块,任务中心支持一键重跑,MeterSphere开源持续测试工具v3.5版本发布
接口测试·metersphere·团队协作·持续测试·测试管理
qq_4337169519 天前
python excel接口自动化测试框架!
python·功能测试·测试工具·excel·接口测试·压力测试·postman
测试杂货铺20 天前
Postman设置接口关联,实现参数化
自动化测试·软件测试·测试工具·职场和发展·测试用例·接口测试·postman
互联网杂货铺20 天前
Postman定义公共函数
自动化测试·软件测试·测试工具·职场和发展·接口测试·压力测试·postman