config部分
config:作为整个测试用例集的全局配置项
name:必填,指定测试用例名称。这将显示在执行日志和测试报告中。
base_url:可选,如果base_url
指定,则teststep中的url只能设置相对路径部分。如果要在不同的测试环境之间切换,这将特别有用。
variables:可选,指定测试用例的公共变量,每个测试步骤都可以引用未在步骤变量中设置的配置变量。换句话说,步骤变量比配置变量具有更高的优先级。
parameters:可选,变量可以进行csv引入。
verify:可选,指定是否验证服务器的TLS证书。如果我们想记录测试用例执行的HTTP流量,这将特别有用,因为如果没有设置verify或将其设置为True,则会发生SSLError。
export:可选,指定导出的测试用例会话变量。将每个测试用例视为一个黑盒,configvariables
是输入部分,而configexport
是输出部分。特别是,当一个测试用例在另一个测试用例的步骤中被引用时,将被提取一些会话变量以在随后的测试步骤中使用,则提取的会话变量应在配置export
部分中进行配置。
teststeps部分
teststeps: 测试步骤集合
name: 指定测试步骤名称
testcase:在一个步骤中用于引用另一个测试用例调用(例如:testcases/login.yml)
export:可选,指定导出的测试用例会话变量。
variables:可选,指定测试步骤变量。
request: 这个test具体发送http请求的各种信息
url: 请求的路径 (若config中有定义base_url, 则完整路径是用 base_url + url )
headers:为请求指定HTTP标头
cookies:指定HTTP请求cookie
method: 请求方法 POST, GET等等
params:指定请求网址的查询字符串
json:在json中指定HTTP请求正文
data: 指定HTTP请求正文
validate:断言的意思,完成请求后, 所要进行的验证内容. 所有验证内容均通过该test才算通过,否则失败.
extract:接口之间参数传递,前面接口的返回值,作为参数供后续测试步骤使用
variables:指定测试步骤变量。每个步骤的变量都是独立的,因此,如果要在多个步骤中共享变量,则应在配置变量中定义变量。此外,步骤变量将覆盖配置变量中具有相同名称的变量。
setup_hooks:在HTTP请求之前执行hooks函数,主要用于准备工作
teardown_hooks: 在HTTP请求发送后执行hooks函数,主要用于用户测试后的清理工作
debugtalk.py
为了支持运算,HttpRunner 支持热加载的插件机制(debugtalk.py),可以在 YAML/JSON 中调用 Python 函数。