接口自动化测试框架-httprunner V2.x中文使用手册-介绍及安装

介绍

HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。

此文档适用于全新发布的 HttpRunner 2.x 版本,1.x 版本的使用文档请查看历史链接。

设计理念¶

  • 充分复用优秀的开源项目,不追求重复造轮子,而是将强大的轮子组装成战车
  • 遵循 约定大于配置 的准则,在框架功能中融入自动化测试最佳工程实践
  • 追求投入产出比,一份投入即可实现多种测试需求

核心特性¶

  • 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求
  • 采用 YAML/JSON 的形式描述测试场景,保障测试用例描述的统一性和可维护性
  • 借助辅助函数(debugtalk.py),在测试脚本中轻松实现复杂的动态计算逻辑
  • 支持完善的测试用例分层机制,充分实现测试用例的复用
  • 测试前后支持完善的 hook 机制
  • 响应结果支持丰富的校验机制
  • 基于 HAR 实现接口录制和用例生成功能(har2case)
  • 结合 Locust 框架,无需额外的工作即可实现分布式性能测试
  • 执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合
  • 测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
  • 极强的可扩展性,轻松实现二次开发和 Web 平台化

安装说明

运行环境¶

HttpRunner 是一个基于 Python 开发的测试框架,可以运行在 macOS、Linux、Windows 系统平台上。

Python 版本:HttpRunner 支持 Python 3.4 及以上的所有版本,并使用 Travis-CI 进行了持续集成测试,测试覆盖的版本包括 2.7/3.4/3.5/3.6/3.7。虽然 HttpRunner 暂时保留了对 Python 2.7 的兼容支持,但强烈建议使用 Python 3.4 及以上版本。

操作系统:推荐使用 macOS/Linux。

安装方式¶

HttpRunner 的稳定版本托管在 PyPI 上,可以使用 pip 进行安装。

 

$ pip install httprunner

如果你需要使用最新的开发版本,那么可以采用项目的 GitHub 仓库地址进行安装:

 

$ pip install git+https://github.com/HttpRunner/HttpRunner.git@master

版本升级¶

假如你之前已经安装过了 HttpRunner,现在需要升级到最新版本,那么你可以使用-U参数。该参数对以上三种安装方式均生效。

 

$ pip install -U HttpRunner
$ pip install -U git+https://github.com/HttpRunner/HttpRunner.git@master

安装校验¶

在 HttpRunner 安装成功后,系统中会新增如下 5 个命令:

  • httprunner: 核心命令
  • ate: 曾经用过的命令(当时框架名称为 ApiTestEngine),功能与 httprunner 完全相同
  • hrun: httprunner 的缩写,功能与 httprunner 完全相同
  • locusts: 基于 Locust 实现性能测试
  • har2case: 辅助工具,可将标准通用的 HAR 格式(HTTP Archive)转换为YAML/JSON格式的测试用例

httprunner、hrun、ate 三个命令完全等价,功能特性完全相同,个人推荐使用hrun命令。

运行如下命令,若正常显示版本号,则说明 HttpRunner 安装成功。

 

$ hrun -V
2.0.2

$ har2case -V
0.2.0

开发者模式¶

默认情况下,安装 HttpRunner 的时候只会安装运行 HttpRunner 的必要依赖库。

如果你不仅仅是使用 HttpRunner,还需要对 HttpRunner 进行开发调试(debug),那么就需要进行如下操作。

HttpRunner 使用 pipenv 对依赖包进行管理,若你还没有安装 pipenv,需要先执行如下命令进行按照:

 

$ pip install pipenv

获取 HttpRunner 源码:

 

$ git clone https://github.com/HttpRunner/HttpRunner.git

进入仓库目录,安装所有依赖:

 

$ pipenv install --dev

运行单元测试,若测试全部通过,则说明环境正常。

 

$ pipenv run python -m unittest discover

查看 HttpRunner 的依赖情况:

 

$ pipenv graph

HttpRunner==2.0.0
  - colorama [required: Any, installed: 0.4.0]
  - colorlog [required: Any, installed: 3.1.4]
  - har2case [required: Any, installed: 0.2.0]
    - PyYAML [required: Any, installed: 3.13]
  - Jinja2 [required: Any, installed: 2.10]
    - MarkupSafe [required: >=0.23, installed: 1.0]
  - PyYAML [required: Any, installed: 3.13]
  - requests [required: Any, installed: 2.20.0]
    - certifi [required: >=2017.4.17, installed: 2018.10.15]
    - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
    - idna [required: >=2.5,<2.8, installed: 2.7]
    - urllib3 [required: >=1.21.1,<1.25, installed: 1.24]
  - requests-toolbelt [required: Any, installed: 0.8.0]
    - requests [required: >=2.0.1,<3.0.0, installed: 2.20.0]
      - certifi [required: >=2017.4.17, installed: 2018.10.15]
      - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
      - idna [required: >=2.5,<2.8, installed: 2.7]
      - urllib3 [required: >=1.21.1,<1.25, installed: 1.24]

调试运行方式:

 

# 调试运行 hrun
$ pipenv run python main-debug.py hrun -h

# 调试运行 locusts
$ pipenv run python main-debug.py locusts -h

 

你可能感兴趣的:(自动化测试)