Ant是Apache的构建工具,可与JMeter结合实现测试脚本自动执行、结果转换为HTML报告及邮件发送。
JAVA_HOME)、JMeter(配置JMETER_HOME)、Ant(配置ANT_HOME),并将JMeter的extras/ant-jmeter-1.1.1.jar复制到Ant的lib目录下。jmeter.properties,将jmeter.save.saveservice.output_format设置为xml(确保结果以XML格式输出,便于Ant解析)。build.xml,定义测试(jmeter任务,指定JMeter路径、脚本目录、结果文件路径)、报告生成(xslt任务,将XML结果转换为HTML)等目标。ant test命令运行JMeter脚本,生成JTL结果文件;再通过ant report命令将JTL转换为HTML报告,便于查看详细测试结果。Maven是项目管理工具,可通过jmeter-maven-plugin插件实现JMeter脚本的自动化执行、报告生成及与Jenkins的无缝集成。
mvn archetype:generate)。src/test目录下创建jmeter子目录(存放JMX脚本),src/test/resources目录下存放XSL报告模板(如jmeter-results-detail-report_21.xsl)。jmeter-maven-plugin(指定JMeter版本、脚本路径、结果格式为XML)和xml-maven-plugin(将JTL结果转换为HTML)。配置jmeter-maven-plugin的<testFilesIncluded>指定要运行的JMX脚本,<resultsDirectory>指定JTL输出目录;配置xml-maven-plugin的<transformationSet>将JTL转换为HTML。mvn verify命令运行,插件会自动执行JMeter脚本、生成JTL结果并转换为HTML报告,报告存放在target/jmeter/html目录下。Jenkins是持续集成工具,可将JMeter测试集成到流水线中,实现代码提交后自动触发性能测试、生成报告及通知。
Performance Plugin(展示JMeter测试结果)、HTML Publisher Plugin(发布HTML报告)、Maven Integration Plugin(支持Maven项目)。verify,若使用Ant则添加“Execute shell”运行ant verify)。**/jmeter/results/*.jtl)、“Publish HTML reports”(指定HTML报告路径,如**/jmeter/html),并配置邮件通知(触发条件为测试失败)。InfluxDB是时间序列数据库,Grafana是可视化工具,可实现JMeter测试数据的实时存储、监控及可视化展示。
sudo yum install influxdb,启动服务sudo systemctl start influxdb)、Grafana(sudo yum install grafana-server,启动服务sudo systemctl start grafana-server)。http://<服务器IP>:8086),创建数据库jmeter,配置JMeter的InfluxdbBackendListenerClient(在JMeter测试计划中添加后端监听器,设置URL为http://<服务器IP>:8086,数据库为jmeter)。http://<服务器IP>:3000),添加InfluxDB数据源(填写URL、数据库名称、认证信息),导入JMeter预置仪表盘(如ID为7362的“JMeter Summary Report”仪表盘),即可实时查看JMeter测试的吞吐量、响应时间等指标。Docker可实现JMeter主从节点的快速部署,便于分布式压测及环境隔离。
sudo yum install docker,启动服务sudo systemctl start docker)。justb4/jmeter),通过docker pull justb4/jmeter命令拉取。docker run -d --name jmeter-master -p 1099:1099 -p 50000:50000 justb4/jmeter。docker run -d --name jmeter-slave -e JMETER_SLAVE_ARGS="-Dserver.rmi.ssl.disable=true" -e SERVER_PORT=1099 -p 1099:1099 justb4/jmeter(可根据需求启动多个从节点)。docker exec -it jmeter-master /bin/bash,使用jmeter -n -t <测试脚本.jmx> -l <结果文件.jtl> -R <从节点IP>命令启动分布式压测(-R指定从节点IP)。