Jmeter工具实现api接口长稳可靠性测试及性能测试
概览
1 Jmeter简介
2 安装jmeter工具
3 编辑jmeter脚本
4 运行及查看结果
5 功能扩展
6 常见问题处理
1 Jmeter简介
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
此处我们使用Jmeter工具主要进行长稳可靠及性能测试:
1)长稳并发测试:线程组中设置线程数、循环数、持续时间等
2)性能测试:聚合报告中可查看吞吐量、响应时间等性能指标
2 安装jmeter工具
下载工具包,双击\apache-jmeter-5.0\bin\jmeter.bat 打开工具。
若打开失败,检查安装包放在非中文路径下、已安装java环境。
可参考https://www.cnblogs.com/ceshisanren/p/5639895.html
3 编辑jmeter脚本
以提交作业接口为例
1、创建线程组
2、设置调度器,长稳作业运行非常有用,可按需设置线程数、循环数、持续时间等
3、添加HTTP Cookie管理器
用于管理Test Plan运行时的所有Cookie
4、添加 HTTP信息头管理器
编写请求头信息
Content-Type、User-Agent、Cookie
以上信息可以通过chrome 按F12抓取接口查看
(token过期需要重新获取,或添加请求登录接口,通过正则提取token返回信息自动更新token,此处略)
5、添加需要测试的API接口请求
设置如下:
6、添加察看结果树查看执行结果
7、添加聚合报告,查看性能测试指标
4 运行及查看结果
注意:运行的范围是整个TestPlan,若只运行当前线程组,需将其他线程组禁用
查看性能测试指标
指标分析
5 功能扩展
1、单个线程组中设置线程串行、并行、间隔时间
6 常见问题处理
1、{"error": "csrf validate fail."}
解决方法:
根据提示估计是因为 csrf(跨站请求伪造)防攻击阻拦了,抓取接口信息中查找有没有对应请求头参数
请求头管理器中添加对应参数即可
2、java.net.SocketException:Socket closed
分析:
解决:安装路劲查找配置文件 \apache-jmeter-5.0\bin\jmeter.properties ,参数httpclient4.idletimeout修改为10-60s,如10s