一、問題描述
在之前的httprunner版本中(2.*之前),進行參數化傳值利用測試用例中config下的parameters實現,如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# 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; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/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] |
上述利用命令 hrun testcase_demo.yml 進行執行后,在 httprunner 2.* 上會提示 $search_word 不存在,原因是httprunner 2.*上不支持在測試用例文件中使用parameters字段。
二、問題解決
在 httprunner 2.* 版本中,只能在testsuite測試套件文件中調用用例文件的時候才可以使用參數化,如下代碼:
1
2
3
4
5
6
7
8
9
|
# testsuite測試套件文件內容 config: name: 測試套件 testcases: - name: param_demo testcase: testcases /testcase_demo .yml parameters: search_word: [ '天天向上' , '12306' , 'newdream' ] |
此時把之前出現問題代碼的config部分中的parameters去掉,使用 hrun testsuite測試套件文件.yml 執行,即可完成參數化功能。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://www.cnblogs.com/dream66/p/13112519.html