Jmeter、Jenkins、Git、maven
Jmeter作为执行者的角色,每次负责执行具体的接口/性能测试脚本,并得到结果,生成报表。
Maven和Git是作为管理者角色,前者主要负责项目的依赖管理,而后者主要负责项目的代码管理。
Jenkins作为调度者,主要根据我们设置的build触发条件和事件调用 jmeter 进行测试
环境搭建:
安装Eclipse
下载maven(不使用eclipse自带的maven)
下载jmeter
Jmter编写接口自动化脚本,确保运行通过;
测试用例放在excel管理
一个接口一个线程组
在eclipse创建maven项目
– 在src/test/目录下创建jmeter文件夹,把准备好的接口测试的脚本复制到这个文件夹下,还有测试用例csv文件
–src/test/jmeter 复制jmeter bin目录下的5个文件:jmeter.properities、saveservice.properties、system.properties、upgrade.properties、user.properties(若项目中使用了这些文件或修改了这些文件则必须放)
–在src/test/目录下创建resource文件夹,并把测试报告模板(E:\apache-jmeter-3.2\apache-jmeter-3.2\extras的如下文件)复制到这个resource文件下 --存放报告模板文件 jmeter-results-details-report_21.xsl、 jmeter-results-report_21.xsl
备注:若项目中有自己写的自定义jar包,在maven的pom文件中引用步骤:
1、先cmd中安装该jar包:
mvn install:install-file -Dfile=[path-of-jar] -DgroupId=[path-in-local-repository] -DartifactId=[foldername] -Dversion=[versionname] -Dpackaging=jar
eg:
mvn install:install-file -Dfile=D:\demo-1.0.jar -DgroupId=com.demo.jmeter -DartifactId=demo -Dversion=1.0 -Dpackaging=jar
==> maven会在本地仓库中自动生成com/demo/jmeter/demo/1.0/路径,并且将demo-1.0.jar放在该路径下面,供maven进行引用
2、pom.xml中配置如下信息:
com.demo.jmeter:demo:1.0 com.demo.jmeter:demo:1.1
在eclipse运行脚本
project 右击,然后在下拉框中选择run as -》maven build ,然后在弹出的对话框的Goals 写上verify,最后点击run;
==》在jmeter 下自动生成html测试报告
Github:上传自己的文件到github
这将会把github上的项目路径拷贝到本地目录中,并生成git控制文件,接下来就可以把本地的文件上传到github上了。
首先将文件加入本地仓库:git add .
接下来commit到远程仓库:git commit -m “log-message”
再提交到master分支:git push -u origin master (过程中需要输入github用户名和密码)
注意,此处由于上传的是maven项目工程,所以要注意,一般只需要上传src文件夹和pom.xml文件,不要将target文件夹上传到github中。
在jenkins上安装如下插件:
Maven Integration plugin Maven,用于jenkins可以创建maven job
Git plugin ,用于从github下载性能测试的代码;
Performance plugin ,用于显示性能报告;
HTML Publisher plugin ,用于显示相关接口测试结果的报告。
在Jenkins中我们只需要建立一个maven工程,其中部分配置如下
** 源码管理选git,直接指定github上的项目git地址即可;
** 构建触发器如果是线上接口监控一般选择定时构建,以一定的时间周期进行触发。如果是测试环境的接口监控,则选择“Build after other projects are built”或“Build when a change is pushed to GitHub”,表示依赖于开发上传代码的时间;
** build里面选择指定pom.xml(注意将github里面的pom.xml放置在根目录,否则jenkins可能无法识别路径),“Goals and options”这里填写“clean verify”;
** post steps,由于接口测试对结果的处理是包含在测试报告里面的,所以一般无法使用jenkins自带的对build结果的判断,需要自己写脚本来解析测试结果,并生成相关的报告,并发送邮件。这些事情可以自己写个自定义的jar来处理,然后指定jenkins去调用即可。
设置完毕后,保存,完毕。
关于显示测试结果:
System.setProperty(“hudson.model.DirectoryBrowserSupport.CSP”, “”)
2.html结果好多为空,请把jmeter.property的相应的false改为true。
3.测试报告出现NaN 请在pom.xml里加上 using XSLT 2.0 依赖。