有两个插件能够实现在Maven build集成Jmeter测试, jmeter-maven-plugin 和 chronos-maven-plugin. 选择哪一个取决于情况,下面是一些判断标准:
- 该插件不应该依赖于本地JMeter的安装。
- 它必须能够从命令行启动JMeter测试(无GUI)。
- JMeter的图形用户界面也应该通过插件(例如,通过一个单独的Maven目标)直接实现。
- 它包含JMeter的插件。
- 该插件应该产生有意义的报告。
第一第二条两个都满足,jmeter-maven-plugin可以在无图形情况下使用一个简单的附加依赖项kg.apc:jmeter-plugins直接使用使用JMeter,这点是 jmeter-chronos-maven-plugin没有的。
下面是一段来自 jmeter-maven-example的配置:
<plugin> <groupId>com.lazerycode.jmeter</groupId> <artifactId>jmeter-maven-plugin</artifactId> <version>1.8.1</version> <configuration> <!-- By default the test results are saved in a file /target/jmeter/results/<testname>-<timestamp>.jtl Further processing is easier without timestamp though. --> <testResultsTimestamp>false</testResultsTimestamp> <!-- To simplify debugging, it is advisable to adapt the loglevel. The jmeter logs are written to the file jmeter.log. --> <overrideRootLogLevel>DEBUG</overrideRootLogLevel> <!-- By default, the console output during a jmeter test run is suppressed. We want to display the progress using the listener "Generate Summary Results" (which periodically prints stats to stdout). Therefore we have to make sure, that the jmeter output is not suppressed. --> <suppressJMeterOutput>false</suppressJMeterOutput> <!-- If tests fail (e.g. a http-request running into a timeout), the corresponding maven goal also fails (and subsequent goals aren't executed anymore). We want to create graphs from test-results, no matter if some requests failed or not, so we ignore jmeter failures. --> <ignoreResultFailures>true</ignoreResultFailures> </configuration> <dependencies> <dependency> <groupId>kg.apc</groupId> <artifactId>jmeter-plugins</artifactId> <version>1.0.0</version> <exclusions> <!-- Unfortunately some transitive dependencies cannot be found on mvncentral and we have to explicitly exclude them. For a complete list, see https://github.com/mlex/jmeter-maven-example/ --> <exclusion> <groupId>kg.apc</groupId> <artifactId>perfmon</artifactId> </exclusion> <!-- ... --> <!-- Because of a bug in the jmeter-maven-plugin (see https://github.com/Ronnie76er/jmeter-maven-plugin/issues/77) we have to exclude jmeter dependencies here, too. --> <exclusion> <groupId>org.apache.jmeter</groupId> <artifactId>jorphan</artifactId> </exclusion> <!-- ... --> </exclusions> </dependency> </dependencies> </plugin>
这个测试文件必须放在 /src/test/jmeter,您可以编辑和执行测试。
测试环境可以是各种,这里结合 Jenkins中创建一个Job,允许一次点击就可以执行JMeter的测试,首先要使用Maven的属性和配置文件。下面示例项目中定义了两种不同的Maven配置文件,一个用于本地执行,一个用于从jenkins执行。 Maven的特性是通过userProperties选项传递到JMeter的。
<profiles> <profile> <id>local</id> <properties> <performancetest.webservice.host>localhost</performancetest.webservice.host> <performancetest.webservice.port>8080</performancetest.webservice.port> </properties> </profile> <profile> <id>jenkins</id> <properties> <performancetest.webservice.host>my.test.system</performancetest.webservice.host> <performancetest.webservice.port>80</performancetest.webservice.port> </properties> </profile> <build> <plugins> <plugin> <groupId>com.lazerycode.jmeter</groupId> <artifactId>jmeter-maven-plugin</artifactId> <version>1.8.1</version> <configuration> <propertiesUser> <webservice.host>${performancetest.webservice.host}</webservice.host> <webservice.port>${performancetest.webservice.port}</webservice.port> </propertiesUser> </configuration> </plugin> </plugins> </build> </plugin>
使用Jenkins-CI进行JMeter tests
现在,我们已经为各种环境下制作了不同的Maven配置文件,一个合适的jenkins作业的配置仅仅需要一小步。参数化的构建版本是jenkins的另一个不错的功能,针对JMeter的测试非常有用。参数可用于例如,允许用户定义负载测试的大小(即:线程数和迭代的次数)。
报表
使用jmeter-graph-maven-plugin集合Jmeter的CMDRunner工具,可以让我们在Maven Build中输出图形结果。
相关推荐
Jmeter+Jenkins+maven接口自动化集成,超详细,环境大家围观
Jmeter+Jenkins+maven接口自动化集成测试框架 可以方便JMeter开发的接口测试脚本自动构建执行,生成html报告,发送邮件。
一个自动化测试框架,可性能也可接口;maven负责项目管理,jenkins服务器就不需要安 装jmeter运行环境(错误的,maven项目配置pom文件),只需要注册脚本所需要的jar包 到本地仓库即可;git源码管理,maven构建; 1...
1、本地搭建Eclipse+JMeter+Maven项目框架,本地调试jmeter脚本;后续Jenkins集成 Jmeter+maven+Email+report+git等功能框架。 建议如果是路径设置,尽量使用反斜杠,在java项目中,斜杠\是需要\\转义的,毕竟最后会...
接口自动化-jenkins+maven+jmeter持续集成.pdf
Jmeter+maven+Jenkins构建云性能测试平台Jmeter+maven+Jenkins构建云性能测试平台
maven工程代码,用来与jenkins、jmeter搭建做接口持续集成使用,里面pom.xml文件包含了各个插件
JMeter Maven示例示例如何将jmeter测试集成到Maven构建中,以及如何使用jmeter插件CMDRunner从测试结果中自动生成图形。 jmeter测试可以轻松地用作詹金斯工作的一部分。 参见 。 该存储库还包含一个预先配置的詹金斯...
以开源工具jmeter5.0版本为...完成本地接口自动化测试框架的搭建,支持jenkins持续集成(jmeter+jenkins+maven),集中了线性脚本demo+关键字驱动demo+csv数据驱动demo三份jmeter脚本,满足不同业务场景的接口自动化测试。
Apache JMeter 可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或...通过适用于 Maven、Gradle 和 Jenkins 的第3方开源库轻松实现持续集成。
Apache JMeter (apache-jmeter-5.4.3.tgz)可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、网络或对象...通过适用于 Maven、Gradle 和 Jenkins 的第3方开源库轻松实现持续集成。
Apache JMeter 源码(apache-jmeter-5.4.3_src.zip)可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、...通过适用于 Maven、Gradle 和 Jenkins 的第3方开源库轻松实现持续集成。
Apache JMeter (apache-jmeter-5.4.3.zip)可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、网络或对象...通过适用于 Maven、Gradle 和 Jenkins 的第3方开源库轻松实现持续集成。
Apache JMeter 源码(apache-jmeter-5.4.3_src.tgz)可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、...通过适用于 Maven、Gradle 和 Jenkins 的第3方开源库轻松实现持续集成。
此存储库的目的是提供分步指南,以在 Jenkins 上启用 Apigee Edge 包部署以进行持续集成和部署。 安装虚拟盒子 下载虚拟盒子。 这一步是运行 Vagrant 所必需的。 安装 Jenkins Vagrant Box 运行vagrant up下载并...
Apache JMeter是一个由Apache软件基金会提供,旨在测量性能和负载测试应用程序的开源Java应用程序。特征:完整的可移植性和100%Java。...通过针对Maven,Gradle和Jenkins的第三方开源库轻松进行持续集成。
在jenkins+jmeter+maven+ant的测试架构中,xsltproc插件用于将执行jmeter后生成的jtl格式结果报告转换成易读的html格式报告。
1.通过Maven手动构建,测试和部署 1.1启动Nexus(可选) $ cd ~ /sonatype/nexus/bin $ ./nexus start 使用admin / admin123访问 。 1.2建立 $ mvn clean package -Dmaven.test.skip=true ... [INFO] Packaging ...
使用 Selenium WebDriver 提供浏览器自动化; 按需截取屏幕截图并保存在磁盘上; 使用 apache logger 将测试日志存储在文件中; 构建工具:Maven; 编程语言:Java; 测试数据管理:Excel工作表中存储的数据:...