一、先记住 4 个核心结构(所有用例都一样)
任何 HttpRunner 用例,都只由 4 部分 组成:
- config ------ 全局配置(域名、变量)
- teststeps ------ 测试步骤(发请求)
- extract ------ 提取返回值(给下一个接口用)
- validate ------ 断言(判断接口对不对)
就这 4 个!
二、直接给你一个 万能模板
你以后写接口,复制这个模板改一改就能用!
config:
name: "我的第一个接口测试用例"
base_url: "https://postman-echo.com" # 接口域名
variables:
username: "test123"
password: "123456"
teststeps:
- name: "第一步:发送GET请求"
request:
method: GET
url: /get
params:
name: $username
validate:
- eq: ["status_code", 200]
- name: "第二步:发送POST表单请求"
request:
method: POST
url: /post
headers:
Content-Type: "application/x-www-form-urlencoded"
body: "username=$username&password=$password"
validate:
- eq: ["status_code", 200]
- eq: ["body.form.username", "test123"]
三、我一句一句教你写(超级小白版)
1)config:写接口域名 + 全局变量
config:
name: "测试用例名字"
base_url: "https://xxx.com" # 接口域名
variables: # 变量
username: "张三"
作用:
- 所有步骤共用一个域名
- 变量可以在任何地方用
$username
2)teststeps:发请求(一个 - 就是一步)
teststeps:
- name: "登录接口"
request:
method: POST # GET / POST
url: /user/login # 接口路径
headers:
Content-Type: application/json
json:
username: $username
password: "123456"
你只需要改:
- method
- url
- headers
- body/json/params
3)extract:从返回结果里拿值(超级重要!)
比如返回是:
{
"body": {
"token": "abcd1234"
}
}
你想把 token 拿出来:
extract:
token: body.token
后面步骤就能用 $token
4)validate:断言(判断接口是否正确)
validate:
- eq: ["status_code", 200] # 状态码必须200
- eq: ["body.msg", "登录成功"] # 返回消息必须正确
- eq: ["body.code", 0] # 业务码必须0
eq = 等于 所有断言都通过 → 用例成功 ✅
四、写 3 个最常用的示例
示例 1:GET 请求(带参数)
config:
name: "GET请求示例"
base_url: "https://postman-echo.com"
teststeps:
- name: "GET带参数"
request:
method: GET
url: /get
params:
id: 100
name: "zhangsan"
validate:
- eq: ["status_code", 200]
示例 2:POST 表单(最常用)
config:
name: "POST表单示例"
base_url: "https://postman-echo.com"
teststeps:
- name: "发表单"
request:
method: POST
url: /post
headers:
Content-Type: "application/x-www-form-urlencoded"
body: "username=zhangsan&password=123456"
validate:
- eq: ["status_code", 200]
示例 3:POST JSON(最常用)
config:
name: "POST JSON示例"
base_url: "https://postman-echo.com"
teststeps:
- name: "发JSON"
request:
method: POST
url: /post
json:
username: "zhangsan"
password: "123456"
validate:
- eq: ["status_code", 200]
五、写完怎么运行?
hrp run 你的用例.yml --gen-html-report
运行成功你会看到:
result=true
result=true
result=true
六、容易犯的 3 个错
- 缩进不对(YAML 严格缩进,用空格,不要用 Tab)
- url 写错
- 断言写错字段(比如 body.data 写成 body.Data)
七、用AI工具写
你只要告诉它:
- 接口地址
- 请求方式(GET/POST)
- 参数
- 返回结果
它直接给你生成可运行的 HttpRunner 用例,复制就能跑!