debugtalk.py辅助函数 - 参数化和数据驱动
参数化和数据驱动
参数化在config中使用parameters关键字
httprunner2中,是在testsuite中实现参数化的
httprunner3中,是在testcase的Config中实现参数化的
什么场景适合参数化?
测试搜索功能,只有一个搜索框,有十多种类型的搜索关键字
测试账号登录的各种情况
testcase/login_params.yml
config:
name: 登录用例
base_url: http://127.0.0.1:端口号
variables:
# user: test
psw: "12345"
# 1.只有user一值有变化
parameters:
user: [test1, test2, test3, test4]
psw: ["123456"]
# 2.多个参数一一对应 - 参数化
parameters:
user-psw:
- [test1,"123456"]
- [test2,"123456"]
- [test3,"123456"]
- [test4,"123456"]
# 3.排列组合,共计16种
# 只针对一种情况可以使用,得到的结果全部一致,否则报错后排查困难
parameters:
user: [test1, test2, test3, test4]
psw: ["123456","123456","12345","1234"]
export:
- token
teststeps:
-
name: step-登录
request:
method: POST
url: /api/test/login
json:
username: $user
password: $psw
extract:
token: body.token
validate:
- eq: [status_code, 200]
- eq: [body.code, 0]
- eq: [body.msg, login success!]
- eq: [body.username, $user]
- len_eq: [body.token, 40]