基于parameters参数实现参数化过程解析
一、问题描述
在之前的httprunner版本中(2.*之前),进行参数化传值利用测试用例中config下的parameters实现,如下所示:
#testcase_demo.yml文件 -config: name:"验证百度搜索是否正确" base_url:"https://www.baidu.com" parameters: search_word:['天天向上','12306','newdream'] -test: name:"百度搜索请求" request: url:"/s" method:GET headers: User-Agent:"Mozilla/5.0(Macintosh;IntelMacOSX10_15_3)AppleWebKit/537.36(KHTML,likeGecko)Chrome/81.0.4044.138Safari/537.36" Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/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]
上述利用命令hruntestcase_demo.yml进行执行后,在httprunner2.*上会提示$search_word不存在,原因是httprunner2.*上不支持在测试用例文件中使用parameters字段。
二、问题解决
在httprunner2.*版本中,只能在testsuite测试套件文件中调用用例文件的时候才可以使用参数化,如下代码:
#testsuite测试套件文件内容 config: name:测试套件 testcases: -name:param_demo testcase:testcases/testcase_demo.yml parameters: search_word:['天天向上','12306','newdream']
此时把之前出现问题代码的config部分中的parameters去掉,使用hruntestsuite测试套件文件.yml执行,即可完成参数化功能。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。