HttpRunner 跳过用例、录制生成用例、用例分层机制
跳过用例使用场景:
1.依赖测试,如微信公众号平台中接口,需要token值才能执行,当未获取到时就不执行。
2.开发在修改接口问题时,即可跳过该用例。
3.未完成的测试用例编写,需要执行时,也可使用。
相应方法:
skip:无条件跳过用例。
skipIf:条件为真时跳过测试用例,如true,0,非空。
skipUnless:条件为假时跳过测试用例,如false,0,空。
实践:
- config:
name: "获取token -- 用户管理~查看粉丝基本信息操作"
base_url: "https://api.weixin.qq.com"
- test:
name: "获取token_value"
request:
url: "/cgi-bin/token"
method: GET
params:
grant_type: "client_credential"
appid: "wxec83eaada223a9c8"
secret: "1867d7f1cabb3bafae0b7304e8251a09"
extract:
- tokenid: content.access_token
validate:
- eq: ["status_code",200]
- eq:
- test:
name: "查看粉丝基本信息"
skipUnless: $tokenid #上面的tokenid截取到了,这里就会执行,未截取到将不执行
request:
url: "/cgi-bin/user/info"
method: GET
params:
access_token: $tokenid
openid: "od-53v0GMqGTEiPY-QC549RTXkCk"
lang: zh_CN
validate:
- eq:
录制生成用例
操作步骤:
1、使用fiddler抓包,然后Flie->Export Sessions->Selected session(选择HTTP Archive v1.1类型)。
2、在pycharm终端命令,cd到所在目录。
3、执行命令:har2case xx.harxx.yml
用例分层机制
1.api(底层API编写)
name: "get access token"
base_url: ${ENV(URL)}
request:
url: "/cgi-bin/token"
method: "GET"
params:
grant_type: "client_credential"
appid: "wxec83eaada223a9c8"
secret: "1867d7f1cabb3bafae0b7304e8251a09"
validate:
- eq: ["status_code",200]
2.testcases(中间用例层)
- config:
name: "验证能否正确获取token"
- test:
name: "step01: 执行get_access_token接口"
api: case_hierarchy\api\get_access_token.yml
validate:
- eq:
3.testsuites(测试套件层)
config:
name: "测试套件"
testcases:
- name: "hrun testcase_get_access_token"
testcase: case_hierarchy\testcases\testcase_get_access_token.yml
备注:第二层测试用例层除了可以调用接口层的api层接口定义yml文件外,还可以调用其它测试用例执行。
简单示例:
config:
name: "测试套件"
testcases:
- name: "hrun testcase_get_access_token"
testcase: case_hierarchy\testcases\testcase_get_access_token.yml
这个是HttpRunner2.0的吧。我看3.0已经不支持跳过了
页:
[1]