测试框架学习之HttpRunner介绍(一)
官网地址:https://v1.httprunner.org/
一、简介
HttpRunner是一款面HTTP(S)协议,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求;该框架可运行在macOS、Linux、Windows系统平台上,推荐使用macOS/Linux+Python3.6的运行环境组
二、功能(httprunner 1.5.8版本)
2.1.继承Requests的全部特性,轻松实现HTTP(S)的各种测试需求
2.2.测试用例与代码分离,采用YAML/JSON的形式描述测试场景,保障测试用例具备可维护性
2.3.测试用例支持分层机制,充分实现测试用例的复用
2.4.测试用例支持参数化和数据驱动机制
2.5.使用skip机制实现对测试用例的分组执行控制
2.6.测试请求支持完善的hook机制
2.7.借助辅助函数(debugtalk.py),在测试脚本中轻松实现复杂的动态计算逻辑
2.8.基于HAR实现接口录制和用例生成功能(har2case)
2.9.结合Locust框架,无需额外的工作即可实现分布式性能测试
2.10.执行方式采用CLI调用,可与Jenkins等持续集成工具完美结合
2.11.测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
2.12.具有可扩展性,便于扩展实现Web平台
三、安装步骤
3.1.安装命令(安装1.58版本)
pip install httprunner 或easy_install httprunner
3.2.升级命令(三种方式)
pip install -U HttpRunner
easy_install -U HttpRunner
pip install -U git+https://github.com/HttpRunner/HttpRunner.git#egg=HttpRunner
3.3.命令介绍
3.3.1.httprunner: 核心命令
3.3.2.ate:曾经用过的命令(当时框架名称为ApiTestEngine),3.3.3.功能与httprunner完全相同
3.3.4.hrun:httprunner的缩写,功能与httprunner完全相同
3.3.5.locusts:基于Locust实现性能测试
3.3.6.har2case:辅助工具,可将标准通用的HAR格式
3.3.7(HTTP Archive)转换为YAML/JSON格式的测试用例
3.4.验证安装情况
httprunner、hrun、ate三个命令完全等价,功能特性完全相同,个人推荐使用hrun命令。运行命令(hrun -V/har2case -V),若正常显示版本号,则说明HttpRunner安装成功(hrun -h帮助)
3.5.开发者模式
默认情况下,安装HttpRunner的时候只会安装运行HttpRunner的必要依赖库。如果你不仅仅是使用HttpRunner,还需要对HttpRunner进行开发调试(debug),那么就需要进行如下操作。
$ pip install pipenv
获取 HttpRunner 源码:
$ git clone https://github.com/HttpRunner/HttpRunner.git
进入仓库目录,安装所有依赖:
$ pipenv install --dev
运行单元测试,若测试全部通过,则说明环境正常。
$ pipenv run python -m unittest discover
查看 HttpRunner 的依赖情况:
调试运行方式:
# 调试运行 hrun
$ pipenv run python main-debug.py hrun -h
# 调试运行 locusts
$ pipenv run python main-debug.py locusts -h