HttpRunner接口自动化测试框架--3.用例编写

HttpRunner 的测试用例支持两种文件格式:YAML 和 JSON。JSON 和 YAML 格式的测试用例完全等价,包含的信息内容也完全相同。

在 HttpRunner 中,测试用例组织主要基于三个概念:

测试用例集(testsuite):对应一个文件夹,包含单个或多个测试用例(YAML/JSON)文件

测试用例(testcase):对应一个 YAML/JSON 文件,包含单个或多个测试步骤

测试步骤(teststep):对应 YAML/JSON 文件中的一个 teststep,描述单次接口测试的全部内容,包括发起接口请求、解析响应结果、校验结果等。

本篇内容主要描述testcase 和 teststep 的编写格式和内容。

1.在一个测试用例文件中包含了两层变量空间作用域(本篇用yaml文件举例)

config:作为整个测试用例的全局配置项,作用域为整个测试用例;test:测试步骤的变量空间,会继承或覆盖 config 中定义的内容;

![]()

2.config中的参数详情

config 参数详情 参数 是否必须 格式 详情
name YES string 测试用例的名称,在测试报告中将作为标题
variables NO list of dict 定义的全局变量,作用域为整个用例
parameters NO list of dict 全局参数,用于实现数据化驱动,作用域为整个用例
request NO dict request 的公共参数,作用域为整个用例;常用参数包括 base_url 和 headers
request中参数详情 参数 是否必须 格式 详情
-------------------------------- -------------- -------- --------
base_url NO String 测试用例请求 URL 的公共 host,指定该参数后,test 中的 url 可以只描述 path 部分
headers NO dict request 中 headers 的公共参数,作用域为整个用例
output NO list 整个用例输出的参数列表,可输出的参数包括公共的 variable 和 extract 的参数; 在 log-level 为 debug 模式下,会在 terminal 中打印出参数内容

3.测试步骤(teststeps)参数详情

teststeps参数详情 参数 是否必须 格式 详情
name YES String 测试步骤的名称,在测试报告中将作为测试步骤的名称
request YES dict HTTP 请求的详细内容;可用参数详见 python-requests 官方文档
variables NO list of dict 测试步骤中定义的变量,作用域为当前测试步骤
extract NO list 从当前 HTTP 请求的响应结果中提取参数,并保存到参数变量中(例如token),后续测试用例可通过$token的形式进行引用
validate NO list 测试用例中定义的结果校验项,作用域为当前测试用例,用于实现对当前测试用例运行结果的校验
times NO int 重复执行测试用例的次数
setup_hooks NO list 在 HTTP 请求发送前执行 hook 函数,主要用于准备工作
teardown_hooks NO list 在 HTTP 请求发送后执行 hook 函数,主要用户测试后的清理工作

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。