Files
InterfaceAutoTest/test_cases/answer/test_1_status.yaml
CNWei 2116016a0d feat(executor): 重构用例加载与执行逻辑,支持参数化变量优先级
- 引入 CaseEntity 包装器,实现数据模型与执行上下文解耦。
 - 移除加载阶段的 deepcopy,优化大规模参数化用例的内存占用。
 - 实现 perform 阶段的局部变量注入,确保参数化数据优先级高于全局缓存。
2026-03-11 17:11:19 +08:00

42 lines
1.7 KiB
YAML

feature: 页面状态
story: 状态
title: 查询状态信息
epic: 的点点滴滴
request:
method: get
url: /answer/api/v1/connector/info
headers:
Host: 119.91.19.171:40065
Accept-Language: en_US
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0
Referer: http://119.91.19.171:40065/users/login
Accept-Encoding: gzip, deflate
json_body:
username: "${username}"
password: "${password}"
extract: # 提取变量
msg:
- "json"
- "$.msg"
- 0
validate:
- check: status_code
assert: ${status_assert} # <--- 动态断言方法
expect: ${status_expect} # <--- 动态期望值
msg: "校验接口状态码"
- check: message
assert: ${msg_assert} # <--- 动态断言方法
expect: ${msg_expect} # <--- 动态期望值
msg: "检查返回消息"
parametrize: # 数据驱动测试
# 定义列名,包括了断言方法和期望值
- [ "title", "username", "password", "status_assert", "status_expect", "msg_assert", "msg_expect" ]
# 定义每一行的数据,现在可以为每次运行指定不同的断言逻辑
- [ "场景1: 成功-状态码相等-消息包含Success", "user1", "pass1", "equals", 200, "contains", "Success" ]
- [ "场景2: 失败-状态码不相等-消息不包含Error", "user2", "pass2", "not_equals", 200, "not_contains", "Error" ]
- [ "场景3: 成功-状态码大于199-消息相等", "user3", "pass3", "greater_than", 199, "equals", "Success" ]
- [ "场景4: 失败-状态码小于500-消息为空", "user4", "pass4", "less_than", 500, "is_empty", "" ]