HttpRunner 的测试用例支持两种文件格式:YAML 和 JSON。
JSON 和 YAML 格式的测试用例完全等价,包含的信息内容也完全相同。
在 HttpRunner 中,测试用例组织主要基于三个概念:
测试用例集(testsuite):对应一个文件夹,包含单个或多个测试用例(YAML/JSON)文件
测试用例(testcase):对应一个 YAML/JSON 文件,包含单个或多个测试步骤
测试步骤(teststep):对应 YAML/JSON 文件中的一个 test,描述单次接口测试的全部内容,包括发起接口请求、解析响应结果、校验结果等
对于单个 YAML/JSON 文件来说,数据存储结构为 list of dict 的形式,其中可能包含一个全局配置项(config)和若干个测试步骤(test)。
具体地:
config:作为整个测试用例的全局配置项
test:对应单个测试步骤(teststep),测试用例存在顺序关系,运行时将从前往后依次运行各个测试步骤
对应的 JSON 格式如下所示:
[
{
"config": {...}
},
{
"test": {...}
},
{
"test": {...}
}
]
变量空间(context)作用域
在测试用例内部,HttpRunner 划分了两层变量空间作用域(context)。
- config:作为整个测试用例的全局配置项,作用域为整个测试用例;
- test:测试步骤的变量空间(context)会继承或覆盖 config 中定义的内容;
- 若某变量在 config 中定义了,在某 test 中没有定义,则该 test 会继承该变量
- 若某变量在 config 和某 test 中都定义了,则该 test 中使用自己定义的变量值
- 各个测试步骤(test)的变量空间相互独立,互不影响;
- 如需在多个测试步骤(test)中传递参数值,则需要使用 extract 关键字,并且只能从前往后传递
网友评论