欢迎查阅 Apache JMeter(性能自动化测试框架体系)
-
JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web 应用测 试但后来扩展到其他测试领域
- 可用于压力测试及性能测试,数据库测试,Java 程序的测试,HTTP 及 FTP 测试,Web Service 测试等等
- 可用于对静态的和动态的资源(文件,Servlet,Perl 脚本,java 对象,数据库和查询,FTP 服务器等等)的性能进行测试
- 可用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的 强度和分析整体性能
- 可用于对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果
源码地址:
Gitee 地址:https://gitee.com/hagyao520/JMeter.git
GitHub 地址:https://github.com/hagyao520/JMeter.git
框架介绍:
- Jmeter + Grafana + InfluxDB2.x + Prometheus + Node_Exporter + Dat + Excel + Jenkins
- 使用 JMeter 作为性能测试工具,负责压力测试和负载测试
- 使用 Grafana 作为 WEB 可视化平台,拥有丰富的指标仪表盘和图形编辑器
- 使用 Influxdb 作为一个开源的分布式时序、时间和指标数据库,使用 go 语言编写,无需外部依赖
- 使用 Prometheus 作为系统监控和报警系统
- 使用 Node_Exporter 作为性能数据采集工具
- 使用 Dat 作为数据参数化文件,以供 JMeter 调用
- 使用 Excel 作为测试报告数据管理工具,方便统计数据,进行数据分析生成报表
- 使用 Jenkins 作为自动化持续集成平台,方便自动编译,自动打包,自动运行测试脚本,邮件发送测试报告
主要特性:
- 能够对 HTTP 和 FTP 服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过 JDBC)
- 完全的可移植性和 100%纯 java,高可扩展性
- 完全 Swing 和轻量组件支持(预编译的 JAR 使用 javax.swing.*) 包
- 完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样
- 精心的 GUI 设计允许快速操作和更精确的计时
- 缓存和离线分析/回放测试结果
- 可链接的取样器允许无限制的测试能力,具有提供动态输入到测试的功能(包括 Javascrīpt)
- 各种负载统计表和可链接的计时器可供选择
- 数据分析和可视化插件提供了很好的可扩展性以及个性化
- 支持脚本变成的取样器(在 1.9.2 及以上版本支持 BeanShell)
环境配置:
- JDK11
- Jmeter
- Grafana
-
InfluxDB2.x
-
Prometheus
-
Node_Exporter
-
Jenkins
测试实例:
- JMeter 里面的元件很多,逻辑控制器,配置元件,定时器,Sampler,监听器等等,先给出一个实例,慢慢了解元件的使用方法。测试一个网站,我们至少需要:用户,发送请求,查看结果这三个过程
一、添加线程组
二、添加请求
三、加监视器
- 监视器的种类很多,根据自己的需要添加,我们选择 “查看结果树”。在线程组上右键 --- “添加” --- “监视器” --- “查看结果树”,如下图所示:
四、运行
五、测试报告:
- 测试报告分为四种,前三种是 Jmeter 自带的聚合报告,图形结果,表格结果,最后一种是 Excel 做的数据分析表
六、监控平台:
七、Jnekins 持续集成:
八、感谢:
非常感谢您花费时间阅读,祝您在这里记录、阅读、分享愉快!
欢迎留言评论,有问题也可以联系我或者加群交流....
作者 :@ 刘智 King
QQ :1306086303
Email:hagyao520@163.com