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

posted @   Xin呀  阅读(765)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示