HttpRunner 參數化數據驅動


HttpRunner 2.0 參數化數據驅動案例,廢話不說,直接上干貨。

1、測試用例目錄結構

     api:接口集

     testcases:測試用例

     testsuites:測試套件

     data:測試數據

      

2、api 接口集

 create1.yaml:

name: 創建外方
variables:
    -   customerName: 姓名
    -   customerGender: male
    -   customerBirth: 1998-09-09T00:00:00+0800
    -   resName: 姓名
request:
    method: POST
    url: $url/out_visits
    headers:
        Accept: application/json;charset=UTF-8
        Content-Type: application/json
    json:
        customerName: $customerName
        customerGender: $customerGender
        customerBirth: $customerBirth
        resName: $resName
params: extract:
- visitId: content.responseBody.id validate: - eq: - status_code - 200 - eq: - content.status - $status - eq: - content.responseBody.resName - $resName - eq: - content.responseBody.customerBirth - $customerBirth

為了演示執行2個接口,在創建一個create2.yaml文件,代碼與create1.yaml內容一樣

3、testcases 測試用例

testcases_1.yaml:

- config:
    name: "創建外方1"
    id: 創建外方1

- test:
    name: 創建外方1_$msg
    api: api/create1.yaml

testcases_2.yaml:

- config:
    name: "創建外方2"
    id: 創建外方2

- test:
    name: 創建外方2_$msg
    api: api/create2.yaml 

 

4、testsuites 測試套件

testsuites_1.yaml:

config:
    name: "單接口測試testsuites"
testcases:
    create1:
        testcase: testcases/testcases_1.yaml
        parameters:
            resName-status-customerBirth-msg: ${P(data/account1.csv)}
    create2:
        testcase: testcases/testcases_2.yaml
        parameters:
            resName-status-customerBirth-msg: ${P(data/account2.csv)}

 

 5、data 測試數據

account1.csv:

resName,customerGender,status,customerBirth,msg
xingming,male,SUCCESS,1998-09-09T00:00:00+0800,create1_resName為字母
姓名,male,SUCCESS,1998-09-09T00:00:00+0800,create1_resName為漢字
姓名3,male,ERROR,1998-09-08T00:00:200+0800,create1_customerBirth日期格式不正確失敗

 account2.csv:

resName,customerGender,status,customerBirth,msg
xingming,male,SUCCESS,1998-09-09T00:00:00+0800,create2_resName為字母
姓名,male,SUCCESS,1998-09-09T00:00:00+0800,create2_resName為漢字
姓名,male,ERROR,1998-09-08T00:00:200+0800,create2_customerBirth日期格式不正確失敗

 

6、運行

# 執行用例
httprunner  --dot-env-path dev.env testsuites/testsuite_1.yaml

 

參考:https://cn.httprunner.org/advanced/parameters/

 


免責聲明!

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



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