httprunner踩坑記02-->利用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; 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測試套件文件中調用用例文件的時候才可以使用參數化,如下代碼:

# testsuite測試套件文件內容
config:
  name: 測試套件

testcases:
  - name: param_demo
    testcase: testcases/testcase_demo.yml
    parameters:
      search_word: ['天天向上','12306','newdream']

此時把之前出現問題代碼的config部分中的parameters去掉,使用 hrun testsuite測試套件文件.yml 執行,即可完成參數化功能。

三、小結

如還有讀者有疑問或者根據步驟還是報錯,可加博主QQ或V信咨詢。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM