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.0injmeter.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.0injmeter.properties ,参数httpclient4.idletimeout修改为10-60s,如10s

欢迎各路侠客多多指教^_^
原文地址:https://www.cnblogs.com/cailingsunny/p/14526093.html