一、问题说明
在以前的httprunner版本(2.*和更早版本)中,参数化的值传递使用测试用例config下的parameters实现如下:
# testcase_demo.yml文件
- config:
name: '验证百度搜索是否正确'
base _ URL : ' https://www.Baidu.com '
parameters:
search_word: [ '天天上',' 12306 ',' newdream']
- test:
name: '百度搜索请求'
请求:
url: '/s '
method: GET
headers:
用户代理: ' Mozilla/5.0 (MAC OS; Intel Mac OS X 10_15_3) appleWebKit/537.36(khtml,like Gecko ) chrome/81.0.4044.138 safari/537.36 '
accept : '文本/html,application/xhtml xml,application/xml; q=0.9,image/webp,image/apng,*/*; q=0.8,APP /信号交换; v=b3; q=0.9 '
Accept-Encoding: 'gzip,deflate,br '
接受语言: ' 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字段。
二、解决问题
在http runner2. *版中,只有在testsuite测试套件文件中调用用例文件时,参数才可用,如下例所示:
# testsuite测试套件文件内容
config:
name:测试工具包
testcases:
- name: param_demo
test case : test cases/test case _ demo.yml
parameters:
search_word: [ '天天上',' 12306 ',' newdream']
在这种情况下,如果删除以前出现问题的代码的config部分中的parameters,并使用hrun testsuite测试套件文件. yml运行,将完成参数化功能。
希望以上是正文的全部内容,对大家的学习有帮助。 另外,我希望你支持很多编剧。