Flask接口签名sign原理与实例代码浅析
246
2022-11-27
基于parameters参数实现参数化过程解析
一、问题描述
在之前的httprunner版本中(2.*之前),进行参数化传值利用测试用例中config下的parameters实现,如下所示:
# testcase_demo.yml文件
- config:
name: "验证百度搜索是否正确"
base_url: "https://baidu.com"
parameters:
search_word: ['天天向上','12306','newdream']
- test:
name: "百度搜索请求"
request:
url: "/s"
method: GET
headers:
User-Agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebYtpMUpEwyxKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"
Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,imageYtpMUpEwyx/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
Accept-Encoding: "gzip, deflate, br"
Accept-Language: "zh-CN,zh;q=0.9"
params:
wd: $search_word
validate:
- eq: ["status_code",200]
上述利用命令 hrun testcase_demo.yml 进行执行后,在 httprunner 2.* 上会提示 $search_word 不存在,原因是httprunner 2.*上不支持在测试用例文件中使用parameters字段。
二、问题解决
在 httprunner 2.* 版本中,只能在testsuite测试套件文件中调用用例文件的时候才可以使用参数化,如下代码:
# testsuite测试套件文件内容
config:
name: 测试套件
testcases:
- name: param_demo
testcase: testcases/testcase_demo.yml
parameters:
search_word: ['天天向上','12306','newdream']
此时把之前出现问题代码的config部分中的parameters去掉,使用 hrun testsuite测试套件文件.yml 执行,即可完成参数化功能。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~