Jmeter+Maven环境搭建
以下项目地址:https://gitee.com/suiyixin/testJmeterIntegration.git
搭建过程如下:
1 新建maven工程
2 选择本地maven路径
3 src/test下新建目录jmeter,将jmx文件复制到此目录下
4 将Jmeter bin下的properties文件复制到src/test/jmeter目录下
5 修改jmeter.properties 文件
(1)jmeter.save.saveservice.output_format=xml
(2)修改以下内容
jmeter.save.saveservice.data_type=true jmeter.save.saveservice.label=true jmeter.save.saveservice.response_code=true # response_data is not currently supported for CSV output jmeter.save.saveservice.response_data=true # Save ResponseData for failed samples jmeter.save.saveservice.response_data.on_error=false jmeter.save.saveservice.response_message=true jmeter.save.saveservice.successful=true jmeter.save.saveservice.thread_name=true jmeter.save.saveservice.time=true jmeter.save.saveservice.subresults=true jmeter.save.saveservice.assertions=true jmeter.save.saveservice.latency=true # Only available with HttpClient4 jmeter.save.saveservice.connect_time=true jmeter.save.saveservice.samplerData=true jmeter.save.saveservice.responseHeaders=true jmeter.save.saveservice.requestHeaders=true jmeter.save.saveservice.encoding=false jmeter.save.saveservice.bytes=true # Only available with HttpClient4 jmeter.save.saveservice.sent_bytes=true jmeter.save.saveservice.url=true jmeter.save.saveservice.filename=true jmeter.save.saveservice.hostname=true jmeter.save.saveservice.thread_counts=true jmeter.save.saveservice.sample_count=true jmeter.save.saveservice.idle_time=true
6 在src/test目录下新建resources目录,并将其项目属性设置为Test resources用来存放资源文件。比如XSL样式表文件jmeter.results.shanhe.me.xsl、jmeter-results-detail-report.xsl、jmeter-results-detail-report_21.xsl、jmeter-results-report.xsl、jmeter-results-report_21.xsl。
将apache-jmeter-5.1.1\extras目录中的相关xsl文件复制到resources目录下:
7 修改pom.xml文件中的配置,该文件是maven的引入jar包、插件的重要配置文件。
注意下面的<groupId>和<artifactId>不要替换掉之前的。<jMeterTestFile>改为要运行的jmx文件名。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>jmeterScript</groupId> <artifactId>autotest</artifactId> <version>1.0-SNAPSHOT</version> <!--设置报告生成的路径--> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <jmeter.result.jtl.dir>${project.build.directory}\jmeter\results</jmeter.result.jtl.dir> <jmeter.result.html.dir>${project.build.directory}\jmeter\html</jmeter.result.html.dir> </properties> <build> <plugins> <plugin> <!-- 核心插件,用来执行jmx脚本,版本号对应的jmeter版本可在此地址查询 https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/blob/master/CHANGELOG.md--> <groupId>com.lazerycode.jmeter</groupId> <artifactId>jmeter-maven-plugin</artifactId> <version>2.2.0</version> <configuration> <!-- 设置jmeter生成结果文件格式--> <resultsFileFormat>xml</resultsFileFormat> <!-- 设置忽略失败是否停止运行--> <ignoreResultFailures>true</ignoreResultFailures> <!--设置结果是否有时间戳--> <testResultsTimestamp>false</testResultsTimestamp> <testFilesIncluded> <!-- //指定运行的jmeter脚本 --> <jMeterTestFile>baidu.jmx</jMeterTestFile> </testFilesIncluded> <!-- 指定jtl生成目录 --> <resultsDirectory>${jmeter.result.jtl.dir}</resultsDirectory> </configuration> <executions> <execution> <id>jmeter-tests</id> <phase>verify</phase> <!--脚本所在的文件夹 --> <goals> <goal>jmeter</goal> </goals> </execution> </executions> </plugin> <plugin> <!--根据xsl模版把jtl文件转换成html--> <groupId>org.codehaus.mojo</groupId> <artifactId>xml-maven-plugin</artifactId> <version>1.0-beta-3</version> <executions> <execution> <phase>verify</phase> <goals> <goal>transform</goal> </goals> </execution> </executions> <configuration> <transformationSets> <transformationSet> <dir>${jmeter.result.jtl.dir}</dir> <stylesheet>src\test\resources\jmeter-results-detail-report_21.xsl</stylesheet> <outputDir>${jmeter.result.html.dir}</outputDir> <!-- 把jtl格式转传承html --> <fileMappers> <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper"> <targetExtension>html</targetExtension> </fileMapper> </fileMappers> </transformationSet> </transformationSets> </configuration> <!-- using XSLT 2.0 --> <dependencies> <dependency> <groupId>net.sf.saxon</groupId> <artifactId>saxon</artifactId> <version>8.7</version> </dependency> </dependencies> </plugin> </plugins> </build> </project>
8 Run->Edit Configurations ,Goals里填入verify
9 运行程序
运行完成:
截图中存在一个Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor 警告,因为和提供的XSL样式表文件版本有关系。
查看HTML报告:
但是报告中的图片没有正常加载,解决方法:
到jmeter安装目录的extras文件夹中,找到collapse.png、expand.png文件,复制到target\jmeter\html文件夹中,然后刷新html报表。
问题已解决:
本文参考地址:https://www.cnblogs.com/linxinmeng/p/12727230.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界