其他分享
首页 > 其他分享> > HttpRunner3.x 学习5-测试用例结构

HttpRunner3.x 学习5-测试用例结构

作者:互联网

1、用例格式

HttpRunner v3.x 支持3种用例格式:pytestYAMLJSON

pytestYAMLJSON格式的测试用例完全等价,包含的信息内容也完全相同。

2、测试用例结构

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

3、变量空间(context)作用域

全局作用域

局部作用域

变量作用域

4、config

name(必须)

测试用例的名称,将在log和报告中展示。

base_url(可选)

测试用例中的通用Host,例如https://postman-echo.com。如果base_url被指定,测试步骤中的url只能写相对路径。当你要在不同环境下测试时,这个配置非常有用。

variables(可选的)

定义的全局变量,作用域为整个用例。每个测试步骤都可以引用config variables。也就是说,step variables 优先级高于 config variables.

parameters(可选的)

全局参数,用于实现数据化驱动,作用域为整个用例。

verify(可选的)

指定是否验证服务器的TLS证书。如果我们想记录测试用例执行的HTTP流量,这将特别有用,因为如果没有设置verify或将其设置为True,则会发生SSLError。

export(可选的)

指定输出的测试用例变量。将每个测试用例看作一个黑盒,config variables是输入变量,config export是输出变量。当一个测试用例在另一个测试用例的步骤中被引用时,config export将被提取并在随后的测试步骤中使用。

5、teststep

 

 

 

name(必须)

name用来定义测试步骤 name,将出现在log和测试报告中。

variables(可选的)

测试步骤中定义的变量,作用域为当前测试步骤。

如果想在多个测试步骤中共享变量,需要在config variables中定义。

测试步骤中的变量,会覆盖config variables中的同名变量。

request(必须)

METHOD(必须)

设置http方法,支持RestFul中的所有http方法(GET/POST/PUT/PATCH/DELETE/) ,相当于requests.request 中的method。

URL(必须)

设置Url,如果base_url在config中设置了,url只能是相对路径部分。相当于requests.request中的url。

PARAMS(可选)

设置Url的query,相当于requests.request中的params。

HEADERS(可选)

设置请求的headers,相当于requests.request中的headers。

COOKIES(可选)

设置Http请求的cookies,相当于requests.request中的cookies。

DATA(可选)

设置http请求的Body,相当于requests.request 中的data。

JSON(可选)

设置http请求json格式的body,相当于requests.request 中的json。

extract(可选)

从当前 HTTP 请求的响应结果中提取参数,并保存到参数变量中(例如token),后续测试用例可通过$token的形式进行引用。

原理:利用jmespath提取Json response body的内容。

validate(可选)

测试用例中定义的结果校验项,作用域为当前测试用例,用于实现对当前测试用例运行结果的校验。

原理:用jmespath 提取Json response的内容,并进行断言校验。

运算符包括:

hooks(可选)

6、teststep 引用其他测试用例

 

variables

跟request中的variables一样

testcase

指定引用的测试用例

export

从引用的测试用例中提取的变量,该变量在后面的test steps中可以引用

 

标签:变量,variables,测试步骤,JSON,学习,HttpRunner3,测试用例,config
来源: https://www.cnblogs.com/keenajiao/p/15084221.html