zoukankan      html  css  js  c++  java
  • HttpRunner接口自动化测试框架

    简介

    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
    

    若版本号正常显示,则说明安装正常。

    入门使用

    测试场景

    用例设计

    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:UsersShuqing>hrun D:api_testHttpRunner_test	est_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:UsersShuqing
    eports1533092144.html
    

    查看测试报告

    打开html报告如下:

    HttpRunnerManager

    简介

    HttpRunnerManager是基于HttpRunner的接口自动化测试平台,该工具是对 HttpRunner的包装和Web图形化, 另外还增加了一些新概念(项目/模块)用来组织用例。
    如果对yaml语法格式不熟悉,以及对于httprunner命令不熟悉的可以使用该平台执行接口自动化测试。

    项目地址:https://github.com/HttpRunner/HttpRunnerManager

    核心特性

    • 项目管理:新增项目、列表展示及相关操作,支持用例批量上传(标准化的HttpRunner json和yaml用例脚本)
    • 模块管理:为项目新增模块,用例和配置都归属于module,module和project支持同步和异步方式
    • 用例管理:分为添加config与test子功能,config定义全部变量和request等相关信息 request可以为公共参数和请求头,也可定义全部变量
    • 场景管理:可以动态加载可引用的用例,跨项目、跨模快,依赖用例列表支持拖拽排序和删除
    • 运行方式:可单个test,单个module,单个project,也可选择多个批量运行,支持自定义测试计划,运行时可以灵活选择配置和环境,
    • 分布执行:单个用例和批量执行结果会直接在前端展示,模块和项目执行可选择为同步或者异步方式,
    • 环境管理:可添加运行环境,运行用例时可以一键切换环境
    • 报告查看:所有异步执行的用例均可在线查看报告,可自主命名,为空默认时间戳保存,
    • 定时任务:可设置定时任务,遵循crontab表达式,可在线开启、关闭,完毕后支持邮件通知
    • 持续集成:jenkins对接,开发中。。。

    下载安装

    1.安装mysql数据库服务端(推荐5.7+),并设置为utf-8编码,创建相应HttpRunnerManager数据库,设置好相应用户名、密码,启动mysql。
    2.将HttpRunnerManager下载下来,解压放在任意盘符位置,例如我放在D盘根目录,并重命名为HttpRunnerManager

    环境配置

    HttpRunnerManager支持分布式执行,模块和项目执行可选择为同步或者异步方式,因此需要安装相关依赖工具。

    erlang

    Erlang是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。

    下载地址:http://www.erlang.org/downloads

    Rabbitmq

    RabbitMQ 是一个由 Erlang 语言开发的 AMQP(高级消息队列协议)的开源实现。它支持多个消息传递协议。RabbitMQ可以部署在分布式和联合配置中,以满足高规模、高可用性的需求,另外安装rabbitmq需要先安装erlang。

    下载地址:http://www.rabbitmq.com/download.html 下载后双击rabbitmq-server-3.7.7.exe文件进行安装。

    安装完成后如下图如所示,选中RabbitMQ Service -start 然后以管理员身份运行。

    可以通过访问 http://localhost:15672 进行测试,默认的登陆账号为:guest,密码为:guest。

    相关资料:RabbitMQ Windows环境安装官方手册

  • 相关阅读:
    CSS浮动(float、clear)通俗讲解
    JAVA 类的加载
    数据库操作 delete和truncate的区别
    正则表达式 匹配相同数字
    Oracle EBS OM 取消订单
    Oracle EBS OM 取消订单行
    Oracle EBS OM 已存在的OM订单增加物料
    Oracle EBS OM 创建订单
    Oracle EBS INV 创建物料搬运单头
    Oracle EBS INV 创建物料搬运单
  • 原文地址:https://www.cnblogs.com/TD1900/p/13175438.html
Copyright © 2011-2022 走看看