• HttpRunner--安装使用


    1.安装

            pip3 install httprunner==3.1.9

    2.创建httprunner测试引擎

    安装完成后会自带hrun,httprunner命令,用于运行测试用例,管理操作等.

    3.项目结构

            api目录:用于存放接口的最小单元(正向用例)

            reports目录:存放测试报告

            testcases:处理接口的复杂执行逻辑,如接口依赖的用例

            testsuites:用于批量执行用例,可以实现数据驱动测试

            .env:存放全局环境变量

            debugtalk.py:定义python函数,处理动态参数 

    4.接口示例

            test_engine/api/login_api.yml

    1. # name 指定当前用例名称
    2. name: 登录接口
    3. # variables:指定当前文件中用例的变量
    4. variables:
    5. username: jeanet
    6. pwd: 123456
    7. # request:指定当前接口的配置信息
    8. request:
    9. url: http://127.0.0.1:8000/projects/projects/
    10. method: GET
    11. headers:
    12. Authorization: "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjU4MzEzMTEzLCJpYXQiOjE2NTgzMDk1MTMsImp0aSI6IjViOWU0Y2IyMzIxYTQxYmU5MjhlOGNlNDVjNGVlMjM2IiwidXNlcl9pZCI6MX0.HRERsmwZxmmo2vjCO2B0DRMhPvLsACHc7OCllClXPRc"
    13. # 指定请求体为json格式数据时的请求头
    14. Content-Type: "application/json"
    15. # 指定请求体为form表单格式数据时的请求头
    16. # Content-Type: "application/x-www-form-urlencoded"
    17. # json: 指定请求体为json格式数据
    18. # json:
    19. # username: $username
    20. # password: $pwd
    21. # data:指定请求体为form表单格式数据
    22. # data:
    23. # username: $username
    24. # password: $pwd
    25. # params: 指定路径中的查询字符串参数格式
    26. params:
    27. page: 1
    28. size: 3
    29. # validate:指定校验器
    30. validate:
    31. - eq: ["json.results.0.id", 8]

    5.执行测试

            5.1 hrun xx命令行执行

            hrun 用例文件的绝对路径

             hrun xxxx/test_engine/api/login_api.yml

             5.2 python程序执行

                    创建执行文件test_engine/run.py

    1. from httprunner.api import HttpRunner
    2. hrun = HttpRunner()
    3. hrun.run(r'/Users/jeanettian/test_platform/test_platform/test_engine/api/login_api.yml')
    4. print(hrun._summary)

                    运行

    6.base_url:

            当设置了base_url后,在request部分的url无需使用$base_url,在测试时如果检测到有base_url变量,会自动进行拼接. 

    7 .env中的环境变量使用

             通过${ENV(变量名)}引用.env文件中定义的全局环境变量

     

     

  • 相关阅读:
    【构建并发程序】7-如何理解并发队列?
    Git实战技巧-如何将暂存区的多个功能代码分成多次提交
    Vue.js的简单概念和使用(代码及运行图)
    JVM——类的生命周期(加载阶段,连接阶段,初始化阶段)
    c#设计模式-行为型模式 之 策略模式
    应用分发平台:测试与发布的最佳实践
    一种多媒体框架中的零buffer拷贝实现机制
    java毕业设计师生健康信息管理系统mybatis+源码+调试部署+系统+数据库+lw
    图的算法
    react关于类组件this指向
  • 原文地址:https://blog.csdn.net/qq_40132294/article/details/125882969