Easy run test

Data & APIs

Use when user needs to run api test, performance test, load test, stress test, http test etc. 当用户需要运行接口测试、性能测试、负载测试、压力测试、HTTP测试等时使用。 触发词: 接口测试、API测试、性能测试、负载测试、压力测试、HTTP测试

Install

openclaw skills install basjoofan

API test

通过 basjoofan test [OPTIONS] [NAME] 来运行测试脚本。

Quick Reference

参数说明必需默认值
--tasks, -t并发数量1
--duration, -d测试时长(秒)或分钟(例如:60s, 1m)-
--number, -n测试次数1
--path, -p测试脚本路径当前路径
--record, -r是否记录测试结果-
--stat, -s是否输出统计信息false

命令选择决策树

用户想运行测试脚本
├─ 接口测试 → basjoofan test name 测试方法名为name的接口测试
├─ 性能测试 → basjoofan test name -t 100 -d 1m 测试方法名为name的接口测试,并发数量为100,测试时长为1分钟

使用示例

让我们开始一个简单的接口测试,测试方法名为get,这是一个GET请求。

let host = "httpbin.org";

rq get`
  GET https://{host}/get
`[status == 200]

test get {
  let response = get->;
  response.status
}

这个脚本保存为.fan为后缀名的文件,例如get.fan。 如果用户想运行测试脚本 ├─ 接口测试 → basjoofan test get 测试方法名为get的接口测试 ├─ 性能测试 → basjoofan test get -t 100 -d 1m -s 测试方法名为get的接口测试,并发数量为100,测试时长为1分钟,输出统计信息

这是一个POST请求

let host = "httpbin.org";

rq post`
  POST https://{host}/post
`[status == 200]

test post {
  let response = post->;
  response.status
}

这是一个POST请求,请求体为application/x-www-form-urlencoded格式。

let host = "httpbin.org";

rq post`
  POST https://{host}/post
Content-Type: application/x-www-form-urlencoded

key: value
`[status == 200]

test post {
  let response = post->;
  response.status
}

这是一个POST请求,请求体为multipart/form-data格式。

let host = "httpbin.org";

rq post`
  POST https://{host}/post
  Content-Type: multipart/form-data

  key: value
  file: @path/to/file
`[status == 200]

test post {
  let response = post->;
  response.status
}

这是一个POST请求,请求体为application/json格式。

let host = "httpbin.org";

rq post`
  POST https://{host}/post
  Content-Type: application/json

  {
    "name": "Gauss",
    "age": 6,
    "address": {
      "street": "19 Hear Sea Street",
      "city": "DaLian"
    },
    "phones": [
      "+86 13098767890",
      "+86 15876567890"
    ]
  }
`[status == 200]

test post {
  let response = post->;
  response.status
}