一、安装Python解释器
下载安装并配置zsh环境变量,请参考本人之前写的博客:
【编程环境准备】在MacOS上配置sublime text运行python3最佳教程
操作系统:MacOS 11.6 运行Python版本:3.8.10
二、安装httprunner测试框架
2.1 框架介绍
1、HttpRunner 是一款面向 HTTP(S) 协议的跨平台通用测试框架,只需编写维护一份YAML/JSON脚本,即可实现接口测试、性能测试、线上监控等多种任务需求。
2、HttpRunner 是 基于 Python 开发的测试框架,可以运行在macOS、Linux、Windows 系统平台上。官方建议使用 Python 3.6 及以上版本。
3、兼容Locust Locust是一款易于使用的分布式用户负载测试工具。它用于对网站(或其他系统)进行负载测试,并确定系统可以处理多少并发用户。HttpRunner 通过复用Locust ,可以在无需对 YAML/JSON 进行任何修改的情况下,直接进行性能测试。
4、在线使用手册 附httprunner使用文档地址:https://docs.httprunner.org/installation/
2.2 模块安装
可指定具体的版本进行安装。
1)安装httprunner: pip install httprunner==2.4.6 -i https://pypi.tuna.tsinghua.edu.cn/simple
2)安装har2case: pip install har2case==0.3.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
3)检查安装是否成功:hrun -V 或者httprunner -V
如果python环境变量配置出错,则会在MacBook Pro上提示找不到这个命令!
https://www.cnblogs.com/MarlonKang/p/15137437.html
在MacBook Pro编程还需要手动配置 zsh和 bash两种Shell的环境变量的配置文件。
4)安装locust: pip install locust==2.2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
2.3 文件路径介绍
testcases:存放用例;里面包含对单个或多个 由一个 YAML/JSON 文件构成的testcase 记录。
testsuites:存放套件,对应一个文件夹。里面包含单个或多个测试用例(YAML/JSON)文件。
reports:自动生成 HTML 测试报告的 默认存储文件夹。
api 文件夹:存储接口定义描述。
debugtalk.py(可选):该文件所在目录将作为项目工程的根目录。该文件不存在时,运行测试的所在路径将被视为项目工程根目录。
.env(可选):存储项目环境变量,通常用于存储项目敏感信息
.csv(可选):项目数据文件,用于进行数据驱动
2.4 创建工程模板
在python项目脚本目录里创建一个httprunner的项目空白模板。
cmd或 zsh进入到Python工作目录-->输入以下命令:
hrun --startproject mydemo项目名称 # 2.X版本 httprunner startproject demoName项目名称 # 3.X版本
结果如下图所示:
2.5 参数说明
api/demo_api.yml
https://www.cnblogs.com/123anqier-blog/p/13093266.html
2.6 har2case命令
1.抓包导出har文件
2.通过
har2case get_token.har -2y yaml格式的测试用例
har2case get_token.har -2j json格式的测试用例
3.附加参数
你可以使用filter
参数,过滤url包含的内容,如只转包含127.0.0.1
的url请求
har2case demo.har --filter 127.0.0.1
参考资料:
https://www.cnblogs.com/123anqier-blog/p/13093266.html
https://www.cnblogs.com/pingguo-softwaretesting/p/13202377.html
https://juejin.cn/post/7003668649185640462
https://www.freesion.com/article/6636868913/
https://www.cnblogs.com/may18/p/12490617.html
https://www.jianshu.com/p/9a00f49e2223
https://www.bilibili.com/video/BV1N34y1S7if?p=2&spm_id_from=pageDriver