玩转 HttpRunner 框架让接口自动化测试和压力测试,领导说要给我涨薪

本贴最后更新于 1611 天前,其中的信息可能已经东海扬尘

一、思考❓❔

1.有没有一种既能做接口自动化测试,又能做压测的工具呢?

image.png


2.HttpRunner是什么?

image.png



二、案例演练??

image.png

1.安装HttpRunner


2.创建项目工程


3.添加登录接口正向用例


4.对登录接口进行测试

testcases 目录下创建 login_testcase.yml 文件

# 定义全局配置
config:
    # 指定全局配置名称
    name: "登录接口测试"

# 定义当前接口的测试步骤(接口依赖)
teststeps:
-   
    # 指定接口名称
    name: "登录接口"
    # 引用登录接口正向用例(最小单元)
    api: api/login_api.yml
    # 定义变量
    # 会将api中定义的变量合并覆盖(不同则合并,相同则覆盖)
    variables:
        username: "keyou1"
        password: "123456"
        status_code: 200
        msg: "user_id"
    validate:
        - eq: ["status_code", $status_code]
        - contains: ["content", $msg]


5.对登录接口进行数据驱动&参数化测试

testsuites 中创建 testsuites/login_testsuite.yml 文件

# 定义全局配置
config:
    # 指定全局配置名称
    name: "登录套件"
    base_url: "http://api.keyou.site:8000"

# 定义添加到套件中的用例
testcases:
-
    # 指定用例名称
    name: "登录用例数据驱动测试"
    # 指定用例路径(相对路径或者绝对路径)
    testcase: testcases/login_testcase.yml
    # 指定参数化
    parameters:
        # - 参数名1-参数名2-参数名3:
        #   - [参数值1, 参数值2, 参数值3]
        - title-username-password-status_code-msg:
           - ["正常登录", "keyou1", "123456", 200, "user_id"]
           - ["用户名为空", "", "123456", 400, "username"]
           - ["密码为空", "keyou1", "", 400, "password"]
           - ["密码不正确", "keyou1", "1234567", 400, "non_field_errors"]


6.对接口进行压测



三、总结??

image.png

image.png

2 回帖
请输入回帖内容 ...
  • ArtNowBen

    dperf是一款网络压测工具。dperf可以测试带宽、PPS、新建连接数、并发连接数,能够准确发现丢包。比idperf好用,很多公司用dperf测试防火墙、F5、DPVS等的性能。谢谢。 https://github.com/baidu/dperf

  • 其他回帖
  • chunyuan

    老师,最近httprunner升级到3了,刚买了老师的httprunner的课程,发现无法使用hrun --startproject 来创建项目了,现在只能使用httprunner startproject来新建工程,但是新建的工程没有api文件夹也没有testsuites文件夹了,嘤嘤嘤~~~