K08_HttpRunner参数化:函数动态生成测试数据 + 独立参数

K08_HttpRunner参数化:函数动态生成测试数据 + 独立参数

 

在 HttpRunner 中,除了将测试数据直接保存到测试用例集合内部、保存到CSV文件中,还可以通过调用 debugtalk.py 中自定义函数来动态生成测试数据,这样测试数据可以更加复杂和多样化。

 

在测试用例集合(testsuite)中实现参数化:

  • 用例中参数个数:1个 (用户名)
  • 数据源提供:通过在外部 debugtalk.py 文件中定义函数实现
  • 测试数据: 正确的“用户名”为 “admin”
  • 函数定义:返回一个列表类型,里面的元素为dict类型 {"参数名": "参数值"}。

 

 

在测试用例集合中调用 debugtalk.py 中自定义函数写法:

<参数名称>: ${函数名称())}

 

K08_HttpRunner参数化:函数动态生成测试数据 + 独立参数_第1张图片

 

 

 

 

文件列表如下

K08_HttpRunner参数化:函数动态生成测试数据 + 独立参数_第2张图片

 

测试用例文件: TestCase_Login.yml

- config:
    name: 进销存登录
    base_url: http://localhost/myweb/jxc

- test:
    name: JXC login
    request:
      url: /index.asp?action=login
      method: POST
      data:
        # 将用户名定义为参数(变量)
        username: $p_uname
        pwd: admin
    extract:
      - topname: 

 

 

测试用例集合文件: TestSuite.yml

config:
  name: 进销存系统登录测试集

testcases:
  testcase01: 
    name: 登录
    testcase: TestCase_Login.yml
    parameters:
      # 从 debugtalk.py 文件中调用 get_name()函数
      # 从动态生成的参数列表中获取
      p_uname: ${get_name()}

 

 

动态生成测试数据的 debugtalk.py 文件:

def get_name():
	return [
	  {"p_uname": "admi"}, 
	  {"p_uname": "admina"},
	  {"p_uname": "admin"}
	]

 

 

 

你可能感兴趣的:(接口自动化测试之,-,HttpRunner框架)