欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于parameters参数实现参数化过程解析

程序员文章站 2022-04-14 13:08:30
一、问题描述在之前的httprunner版本中(2.*之前),进行参数化传值利用测试用例中config下的parameters实现,如下所示:# testcase_demo.yml文件- config...

一、问题描述

在之前的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 执行,即可完成参数化功能。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关标签: parameters 参数