基于文档http://cn.httprunner.org/advanced/data-driven/
场景一:用例集+独立参数+参数列表
1、原始用例文件savePatient_01.yml
- config: name: 患者管理-新增患者 request: base_url: 'http://192.168.14.76:8080' headers: User-Agent: null variables: [] - test: name: /myinfo/pinyin4j/converterToFirstSpell request: method: GET params: detail: '{"body":{"synCode":"","content":{},"param":{"name":"施耐庵"},"code":{}},"header":{"v":"v_pc_1.0.3.24","doctorMainId":"ff80808162bc9a2f0162f1c2322627ab","clinicId":"8a9a9c745f9b87c3015fdcc1e36b4271","type":"4","imei":"661D-6DF1-B196-3DFE-DE7D-3A01-3AA1-471F","userToken":"20180803105231387f8ueqor"}}' url: http://192.168.14.76:8080/myinfo/pinyin4j/converterToFirstSpell validate: - eq: - status_code - 200 - eq: - headers.Content-Type - text/html;charset=UTF-8
2、分析
需要参数化的数据,患者姓名name,如上红色加粗部分。
步骤
1、在config模块中,将需要参数化的数据name,配置为全局参数,并使用列表赋值。
parameters: - name: ["杜甫", "曹雪芹", "施耐庵"]
2、在test请求中引用name的地方,使用参数替换${name}
params: detail: '{"body":{"synCode":"","content":{},"param":{"name":"$name"},"code":{}},"header":{"v":"v_pc_1.0.3.24","doctorMainId":"ff80808162bc9a2f0162f1c2322627ab","clinicId":"8a9a9c745f9b87c3015fdcc1e36b4271","type":"4","imei":"661D-6DF1-B196-3DFE-DE7D-3A01-3AA1-471F","userToken":"20180803105231387f8ueqor"}}' url: http://192.168.14.76:8080/myinfo/pinyin4j/converterToFirstSpell
3、断言中如有需要验证name的地方,也进行替换
validate: - eq: - status_code - 200 - eq: - content.body.code - "0000" - eq: - content.body.param.name - $name
全部代码实例:
1 - config: 2 name: 患者管理-新增患者 3 request: 4 base_url: 'http://192.168.14.76:8080' 5 headers: 6 User-Agent: null 7 variables: [] 8 parameters: 9 - name: ["杜甫", "曹雪芹", "施耐庵"] 10 - test: 11 name: /myinfo/pinyin4j/converterToFirstSpell 12 request: 13 method: GET 14 params: 15 detail: '{"body":{"synCode":"","content":{},"param":{"name":"$name"},"code":{}},"header":{"v":"v_pc_1.0.3.24","doctorMainId":"ff80808162bc9a2f0162f1c2322627ab","clinicId":"8a9a9c745f9b87c3015fdcc1e36b4271","type":"4","imei":"661D-6DF1-B196-3DFE-DE7D-3A01-3AA1-471F","userToken":"20180803105231387f8ueqor"}}' 16 url: http://192.168.14.76:8080/myinfo/pinyin4j/converterToFirstSpell 17 validate: 18 - eq: 19 - status_code 20 - 200 21 - eq: 22 - content.body.code 23 - "0000" 24 - eq: 25 - content.body.param.name 26 - $name