一、Httprunner 是什么(来自于官方文档)
HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型。简单易用,功能强大,具有丰富的插件化机制和高度的可扩展能力。
二、它有什么好处
(1)能够通过抓包工具 Charles/Fiddler/Chrome抓包之后生成HAR文件在通过har2case 能够生成json或者YANL文件
(2)可以通过一行命令,快速的生成一个接口测试框架(hrp startproject )
(3)完整支持 HTTP(S)/1.1 和 HTTP/2(注:可扩展支持 WebSocket/TCP/RPC 等更多协议,httprunner4)
(4)支持灵活的自定义函数和 hook 机制,参数变量、数据驱动、结果断言等机制一应俱全,轻松适应各种复杂场景(官方文档)
(5)测试用例组织支持分层设计,格式统一,易于实现测试用例的维护和复用(官方文档)
三、如何设计?
在这里主要讲述我自己的搭建过程。
1)python 建议用3.5及以上版本(博主用的3.11版本)
2)java 环境 主要用于自动化测试报告输出(jdk8及以上,博主这用用jdk17)
3)Httprunner、allure-pytest
4)allure
5)hrp 命令行工具
安装工具(博主用的mac)
python、java环境安装就不进行叙述(自行百度)
(1) Httprunner、allure-pytest 安装
在到python的环境下引入包
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple httprunner
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple allure-pytest
(2) allure 安装 (注意需要依赖java环境)
1、从github下载 https://github.com/allure-framework/allure2/releases
2、下载之后解压文件到目录
1)这个目录自己能找的,后续需要用(博主这边建了一个文件专门存放)
2)修改环境变量
编辑 bash_profile 文件(vim .bash_profile)
# alure
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
export PATH=${PATH}:/Users/用户名/plugins/allure-2.30.0/bin
source ~/.bash_profile (执行后才能环境生效)
- 验证allure版本
allure --version
3、hrp 安装
1)获取hrp编译文件:https://github.com/httprunner/httprunner/releases
2)获取到编译产物(.tar.gz 格式)后,对压缩包进行解压:
tar -xzf hrp-xxx.tar.gz
3)解压后可以获得一个 hrp 二进制文件,你只需给 hrp 添加可运行权限即可。
chmod +x hrp
4)同时为了让 hrp 在系统中可以全局调用,推荐将 hrp 添加到系统环境变量的 PATH 路径中,针对 Linux/macOS 系统,推荐将 hrp 移动到系统 /usr/local/bin 目录。
mv hrp /usr/local/bin/
四、完成第一个项目的创建
1)进入到一个文件之中执行如下命令
hrp startproject <projece name>
2)接下来等着创建
3)接下你会的得到这样的一个项目
har: har文件夹存放har文件,har文件可以通过抓包工具来获取
reports:存放最终测试报告的地方
testcases:存放测试用例的地方(在上述脚手架生成后,会有两个yaml示例文件)
debugtalk.py: 根据业务完成一些方法,最后进行调用。