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/

 
posted on 2019-01-23 16:21  蜗牛也是妞  阅读(4244)  评论(0编辑  收藏  举报