首页 > Web开发 > 详细

HttpRunner四:testcases、testsuites以及参数化的使用

时间:2020-03-18 21:48:34      阅读:203      评论:0      收藏:0      [点我收藏+]

还是以本地搭建的接口测试平台的登录接口为例,发送请求,生成报告,查看结果等一系列操作,代码都是经过本地调试,运行通过的:

1、api目录下的demo_api.yml代码:

name: 登录接口
base_url: ${ENV(BASE_URL)}
variables:
    username: $username
    password: $password
    status: $status
request:
    url: /user/login/
    method: POST
    headers:
        Content-Type: "application/json"
    json:
        username: $username
        password: $password
validate:
    - eq: ["status_code", 200]

2、testcases/demo_testcase.yml代码:

config:
    variables:
        title: $title
        status: $status
        contains_msg: $contains_msg

teststeps:
-
    name: $title
    api: api/demo_api.yml
    validate:
        - eq: ["status_code", $status]
        - {check: "content", comparator: "contains", expect: $contains_msg}

3、testsuites/demo_testsuite.yml代码:

testcases:
-
    name: $title
    testcase: testcases/demo_testcase.yml
    parameters:
        - title-username-password-status-contains_msg: ${get_login_datas()}
#            - ["正常登录", "benben", "123456", 200, "token"]
#            - ["用户名错误", "bb", "123456", 400, "non_field_errors"]
#            - ["密码错误", "benben", "111111", 400, "non_field_errors"]

说明:

demo_testsuite中的parameters参数化实现:

1、可以直接写测试数据,如上边注释掉的代码

2、使用CSV文件来保存测试数据:- title-username-password-status-contains_msg: ${P(datas/accounts.csv)}

3、使用函数动态生成参数,将测试数据写到debugtalk.py中,函数返回嵌套字典的列表即可,例如:

def get_login_datas():
    user_info = [
        {"title": "正常登录", "username": "benben", "password": "123456", "status": 200, "contains_msg": "token"},
        {"title": "用户名错误", "username": "bb", "password": "123456", "status": 400, "contains_msg": "non_field_errors"},
        {"title": "密码错误", "username": "benben", "password": "111111", "status": 400, "contains_msg": "non_field_errors"},
    ]
    return user_info

4、将BASE_URL变量存放到.env文件中:   

BASE_URL=http://127.0.0.1:8000

5、运行,使用扩展模板:   

hrun testsuites/demo_testsuite.yml --report-template templates/ext_reports_template.html

6、查看运行结果:

技术分享图片

 

HttpRunner四:testcases、testsuites以及参数化的使用

原文:https://www.cnblogs.com/benben-wu/p/12520536.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!