博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven+jmeter+jenkins集成
阅读量:5997 次
发布时间:2019-06-20

本文共 5979 字,大约阅读时间需要 19 分钟。

马上要国庆了,最近比较忙,但是感觉忙的效率很一般,之前写过ant的集成,这两天研究了下maven,其中核心的插件便是jmeter-maven-plugin,要想了解更多的朋友,可以自行去官网wiki学习,地址:https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki。下面是我实践的下记录,供参考。

jdk、jmeter、maven这些软件的安装以及环境变量的设置我这里不做介绍,只要在命令窗口分别输入jmeter -v    、java -version、mvn -v。能分别出来相应的版本说明环境没问题。

 

eclipse部分

1. 首先是打开eclipse,新建一个maven项目。

2. 依次在工程的src/test目录下新建jmeter文件夹和resources文件夹,然后将自己写的jmeter脚本放在jmeter文件夹下,生成报告的模版文件/meter.results.shanhe.me.xsl放在resources文件夹下

3. 如果properties文件有过更改,则把相关的propertie文件也复制到jmeter文件夹里,见上图,否自系统会使用默认的jmeter文件

 

maven部分

1.最好maven能连上公司的私服,这样下载jar会快点,下面是我maven的conf文件配置。

F:\mywork\apache-maven-3.0.4-m2\repository
false
myProfile
myRepository
Repository for me
http://192.168.100.10/nexus/content/groups/public/
sonar
jdbc:mysql://localhost:3306/sonar
com.mysql.jdbc.Driver
sonar
sonar
http://localhost:9000
jdk-1.7
true
1.7
1.7
1.7
1.7
myProfile
sonar
always

2. 下面是关键的部分,即maven的pom文件配置。

 

4.0.0
mavenjmeter
maven2jmeter
0.0.1-SNAPSHOT
jar
maven2jmeter
http://maven.apache.org
UTF-8
${env.WORKSPACE}/Report/${env.BUILD_ID}/jtl
${env.WORKSPACE}/Report/${env.BUILD_ID}/html
com.lazerycode.jmeter
jmeter-maven-plugin
2.1.0
com.jmeter.chajian:jmeter-plugins-json:2.6
com.smrz:smrz-utils:1.0
xml
true
false
testmaven1.jmx
testmaven2.jmx
${jmeter.result.jtl.dir}
jmeter-tests
verify
jmeter
org.codehaus.mojo
xml-maven-plugin
1.0-beta-3
verify
transform
${jmeter.result.jtl.dir}
src\test\resources\jmeter.results.shanhe.me.xsl
${jmeter.result.html.dir}
html
net.sf.saxon
saxon
8.7

这里需要对pom文件做几点说明。

1. jmeter-maven-plugin插件的版本号一定要和本地jmx文件生成的jmeter版本号对应,不然到时候会碰到com.thoughtworks.xstream.converters.ConversionException或者空指针异常。

2. testFilesIncluded提供了灵活的脚本执行选择方式,可以指定具体文件或目录,也可以使用正则表达式

3. 如果有多个jmx文件,会生成多个jtl日志文件,同时生成的html报告也会有多个,这点不如ant,ant会把多个jmx的文件汇总到一个html文件里面。

4. 如果有多个xsl报告模版文件,则可以配置多个transformationSet,maven会根据配置的transformationSet同时生成多个html报告,这点可以根据自己的需求选择

5.增加jmeter官方第三方的扩展jar包,需要先将jar下载到本地,然后把该jar包注册到本地maven仓库,然后再调用即可,具体步骤是

  • 下载插件到本地
  • 解压后,将lib/ext中的jar包注册到本地maven仓库:命令为
mvn install:install-file -Dfile=D:\GIT\ZyzxAPIAutoTest\TXPTAPIAutoTest\plugns\jmeter-plugins-json.jar -DgroupId=com.jmeter.chajian -DartifactId=jmeter-plugins-json -Dversion=2.6 -Dpackaging=jar
  • 在pom文件中,执行的时候将该文件复制到target的jmeter->lib->ext文件夹下,具体配置:
com.jmeter.chajian:jmeter-plugins-json:2.6
com.smrz:smrz-utils:1.0
  • 自己写的jar包配置方法同上

执行部分

1. 打开命令窗口,进入到项目所在的路径,输入 mvn verify,或者在eclipse右键项目,run as->maven build…,输入verify命令。即可看到执行过程,最终build success后

2. 执行结果的所有文件,都会存放在target目录下,如:

 

jenkins集成部分

1. jenkins新建一个maven风格的项目,做如下配置,具体配置不再细说,和我之前的ant集成的文章类似,具体可以参考

 

1. 需要适当修改Root POM的pom文件位置,./代表jenkins的workspace的当前项目路径,因为我的maven2jmeter项目在git上还有上级目录,所以需要再加上maven2jmeter,如果从git拉取的直接是maven2jmeter项目,则不需要再加maven2jmeter,直接./pom.xml

2. html report路径是:Report/$BUILD_ID/html,$BUILD_ID代表动态根据每次的构建id,生成相应目录的文件夹,和pom文件的  <jmeter.result.html.dir>${env.WORKSPACE}/Report/${env.BUILD_ID}/html</jmeter.result.html.dir>对应

效果图

参考部分

1. 文中所用的的例子demo已上传至github:https://github.com/qiaoyeye/ApiautoTest.git

2. xsl转换报告插件官网:http://www.mojohaus.org/xml-maven-plugin/examples/transform-basic.html

3. jmeter-maven-plugin官网:https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki

4. 参考博客:http://blog.csdn.net/xujiamin123456/article/details/77451660

你可能感兴趣的文章
Centos7.5 部署 MinDoc
查看>>
ArchLinux安装完没有声音之解决办法
查看>>
Spring Security基于数据库验证流程详解
查看>>
shell解决服务器高可用
查看>>
cloudera-manager安装配置详解
查看>>
RedHat / Centos Linux 系统运维与管理实践技巧荟萃,持续更新
查看>>
Centos6.5下Varnish4安装配置
查看>>
CentOS6.3环境下实战Linux开源流量监控软件Bandwidthd
查看>>
FastCGI的并发处理
查看>>
SVM学习笔记(3)LIBSVM中的核函数及其参数
查看>>
libevent据说是异步的
查看>>
理解Go语言的nil
查看>>
python xml解析之ElementTree 基本读操作示例
查看>>
Oracle 索引(学习笔记)
查看>>
我的助理辞职了!
查看>>
iptables防火墙
查看>>
从零开始安装Android Studio并快速配置SDK的方法
查看>>
使用jmx监控tigase状态简单说明
查看>>
软件嘉年华OpenCTF Reverse第一题解答
查看>>
gulp前端自动化构建工具使用
查看>>