一、什么是HttpRunner:
HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份YAML/JSON脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。
关于HttpRunner的介绍 ,请参考以下文章,里面包含了中文的用户手册
https://testerhome.com/opensource_projects/httprunner
二、HttpRunner安装说明:
尽管对着中文的用户手册,对于python 小白来说,中途还是碰到了一点坑。重新整理下流程吧。
1、首先,HttpRunner 是一个基于 Python 开发的测试框架,可以运行在 macOS、Linux、Windows 系统平台上。确保自己本地已经安装Python。建议使用 Python 3.4 及以上版本。我是在Windows平台上,查看本地python是否安装,如图表示安装成功
2、HttpRunner安装方式及校验:
HttpRunner 的稳定版本托管在 PyPI 上,可以使用 pip 进行安装。$ pip install httprunner
在 HttpRunner 安装成功后,系统中会新增如下 5 个命令:
httprunner: 核心命令
ate: 曾经用过的命令(当时框架名称为 ApiTestEngine),功能与 httprunner 完全相同
hrun: httprunner 的缩写,功能与 httprunner 完全相同
har2case: 辅助工具,可将标准通用的 HAR 格式(HTTP Archive)转换为YAML/JSON格式的测试用例
httprunner、hrun、ate 三个命令完全等价,功能特性完全相同,个人推荐使用hrun命令。
运行如下命令,若正常显示版本号,则说明 HttpRunner 安装成功:$ hrun -V 以及 $ har2case -V
3、HttpRunner开发者模式
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启动服务:
1、项目中的tests目录有一个api_server.py 接口API样例服务
2、然后到pyenv363环境启动服务 ,需要Flask-Script支持:$ pip install Flask-Script
此处注意 一定要先cd切换到该目录/HttpRunner/ 也就是tests目录的上一级处再执行export和flask run 方可正常开启模拟API Server
$ export FLASK_APP=tests/api_server.py 和 $ export FLASK_ENV=development 和$ flask run
四、生成和执行测试用例
1、利用Fiddler或者Charles,导出生成HAR文件。再根据har 文件生成对应的 yml或者json文件。两种格式完全等价。如.har 文件放在/HttpRunner/tests/testcases 下面,则进入/HttpRunner/tests/testcases,具体执行命令为:har2case kuaidi.har /默认生成json格式文件 。 har2case xxx/xxx/xxx.har -2y /生成yml格式文件
2、生成对应的json 或者 yml 文件之后,再启动,命令为 :hrun kuaidi.json
3、查看对应的测试报告。就是在testcases 下面生成的reports 文件虾米的html,知道对应目录的文件,直接打开即可。
五、使用locusts 做性能测试
为了支持locusts做性能测试 我们还需要单独安装下locusts
$ pip install locust 安全完毕后,查看下版本号 $ locusts -V