测试用例参数
config(必须),用例配置
每个测试用例都有config配置
name(必须),用例名
在log和报告中展示
base_url(可选),域名
域名,例如http://xueyu_scrapy.online
如果base_url被指定,测试步骤中的url只能写相对路径
自由切换测试环境/开发环境/预生产环境/生产环境
variables(可选),测试用例全局变量
每个测试步骤都可以使用config variables
step variables测试步骤变量,优先级高于config variables配置变量
verify(可选),是否验证服务器的TLS证书
记录测试用例执行httpP流量,特别有用
如果没有设置verify,或将其设置为True,会发生SSLError
export(可选),提取响应
config variables是输入变量
config export是输出变量
一个测试用例在另一个测试用例的步骤中被使用
config export被提取在下个测试步骤中使用
teststeps(必须),测试步骤列表
name(必须),测试步骤名
name用来定义测试步骤 name,将出现在log和测试报告中。
variables(可选的),测试步骤变量
测试步骤中定义的变量,作用域为当前测试步骤。
如果想在多个测试步骤中共享变量,需要在config variables中定义。
测试步骤中的变量,会覆盖config variables中的同名变量。
request(必须),请求
method(必须),请求方式
设置http方法,支持RestFul中的所有http方法(GET/POST/PUT/PATCH/DELETE/) ,相当于requests.request 中的method。
url(必须),url
设置Url,如果base_url在config中设置了,url只能是相对路径部分。相当于requests.request 中的url。
params(可选),get请求参数
设置Url的query,相当于requests.request 中的params。
headers(可选),请求头
设置请求的headers,相当于requests.request 中的headers。
cookies(可选),cookies
设置Http请求的cookies,相当于requests.request 中的cookies。
data(可选),请求体
设置http请求的Body,相当于requests.request 中的data。
json(可选),请求体json
设置http请求json格式的body,相当于requests.request 中的json。
extract(可选),提取响应结果
利用jmespath 提取Json response body的内容
保存到参数变量中(例如token),后续测试用例可通过$token的形式进行使用
validate(可选),验证器
jmespath 提取Json response的内容,并进行断言校验
测试用例中定义的结果校验项,作用域为当前测试用例,用于实现对当前测试用例运行结果的校验。
- 运算符: [jmespath表达式, expected_value, message]
运算符包括:
equal: 等于
contained_by: 实际结果是否被包含在预期结果中
contains: 预期结果是否被包含在实际结果中
endswith: 以...结尾
greater_or_equals: 大于等于
greater_than: 大于
length_equal: 长度等于
length_greater_or_equals: 长度大于等于
length_greater_than: 长度大于
length_less_or_equals: 长度小于等于
length_less_than: 长度小于
less_or_equals: 小于等于
less_than: 小于
not_equal: 不等于
regex_match: 字符串是否符合正则表达式匹配规则
startswith: 以...开头
string_equals: 字符串相等
type_match: 类型是否匹配
jmespath: jmespath表达式,详见JMESPath Tutorial
expected_value: 指定期望值或变量,也可以调用方法
message(optional): 用于描述断言失败原因
hooks(可选)
setup_hooks
在debugtalk.py中
method(必须),请求方法,GET/POST/PUT
url(必须),请求url
kwargs(必须),request的参数字典
teardown_hooks
在debugtalk.py中
resp_obj(必须),requests.Response实例
teststeps测试步骤使用测试用例
variables测试步骤变量
testcase使用测试用例
export从使用测试用例提取变量