HttpRunner接口自动化测试框架

发表于:2021-2-25 09:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:sunyllove    来源:博客园

  简介
  HttpRunner是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试性能测试、线上监控、持续集成等多种测试需求。
  框架流程
  核心特性
  ·继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求
  ·测试用例与代码分离,采用YAML/JSON的形式描述测试场景,保障测试用例具备可维护性
  ·测试用例支持分层机制,充分实现测试用例的复用
  ·测试用例支持参数化和数据驱动机制
  ·使用 skip 机制实现对测试用例的分组执行控制
  ·测试请求支持完善的 hook 机制
  ·支持热加载机制,在文本测试用例中轻松实现复杂的动态计算逻辑
  ·基于 HAR 实现接口录制和用例生成功能(har2case)
  ·结合 Locust 框架,无需额外的工作即可实现分布式性能测试
  ·执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合
  ·测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
  ·具有可扩展性,便于扩展实现 Web 平台化(HttpRunnerManager)
  下载安装
  使用pip命令进行安装
  pip install httprunner
  安装后效验是否安装成功,可以使用如下命令进行效验:
    hrun -V
    1.4.2
    har2case -V
    0.1.8
  若版本号正常显示,则说明安装正常。
  入门使用
  1、测试场景
  ·测试接口:http://httpbin.org/get
  ·接口类型:GET
  2、用例设计
  HttpRunner的测试用例支持两种文件格式:YAML 和 JSON。这里以YAML为例。
    # test_httpbin.yml
    - config:
        name: httpbin api test
        request:
            base_url: http://www.httpbin.org
    - test:
        name: get request
        request:
            url: /get
            method: GET
        validate:
            - eq: [status_code,200]
  ·config:作为整个测试用例集的全局配置项
  ·test:对应单个测试用例
  ·name 这个test的名字
  ·request 这个test具体发送http请求的各种信息, 如下:
  ·url 请求的路径 (若config中有定义base_url, 则完整路径是用 base_url + url )
  ·method 请求方法 POST, GET等等
  ·validate 完成请求后, 所要进行的验证内容. 所有验证内容均通过该test才算通过,否则失败
  运行测试
  使用hrun执行测试,如下所示:
  C:\Users\Shuqing>hrun D:\api_test\HttpRunner_test\test_httpbin.yml
  get request
  INFO     GET /get
  INFO     status_code: 200, response_time(ms): 1967.35 ms, response_length: 273 bytes
  INFO     start to validate.
  .
  ----------------------------------------------------------------------
  Ran 1 test in 1.976s
  OK
  INFO     Start to render Html report ...
  INFO     Generated Html report: C:\Users\Shuqing\reports\1533092144.html
  查看测试报告
  打开html报告如下:

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号