1. 程式人生 > 程式設計 >基於parameters引數實現引數化過程解析

基於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: ['天天向上','newdream']


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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。