一、jmeter安装配置

此处安装+环境配置忽略,网上都有教程。我电脑安装的版本为:jmeter5.5

安装成功后,cmd命令行输入 jmeter -v,出现jmeter版本号代表配置成功。

ant 对应的java版本 ant 指定jdk版本_字段

二、安装jdk
此处我使用的是jdk1.8.0。由于JDK11及以上的版本都不支持Nashorn JavaScript引擎,会导致jmeter脚本引用js文件失败,故此处没有升级jdk版本了。

三、下载配置ant

下载地址:https://ant.apache.org/bindownload.cgi

ant 对应的java版本 ant 指定jdk版本_自动化_02


解压缩到本地后需要进行环境变量的配置。

以下为我本地的配置地址:

ANT_HOME =D:\ant\apache-ant-1.10.13

CLASSPATH = %ANT_HOME%

PATH = %ANT_HOME%\bin

配置完成后,cmd命令行执行:ant -version,出现对应的版本号即可

ant 对应的java版本 ant 指定jdk版本_字段_03


四、jmeter&ant相关配置

1.复制 jmeter/extras下的 ant-jmeter-1.1.1.jar 到 ant/lib 路径下;

2.修改Jmeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml;

3.在本地配置jmeter工作路径,形如截图所示

ant 对应的java版本 ant 指定jdk版本_自动化_04


其中,build.xml内容如下,地址需替换为本地路径

<?xml version="1.0" encoding="UTF8"?>
 
<project name="JmeterTest" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyy-MM-dd-hh-mm"/>
</tstamp>
<!--需要改成自己本地的Jmeter目录 -->
<property name="jmeter.home" value="D:\jmeter\apache-jmeter-5.4.1"/>
<property name="report.title" value="testCase"/>
<!--要改成jmeter生成jtl和html格式的结果报告的路径 -->
<property name="jmeter.result.jtl.dir" value="F:\jmeter_scripts\report\jtl"/>
<property name="jmeter.result.html.dir" value="F:\jmeter_scripts\report\html"/>
<!--生成报告的前缀-->
<property name="ReportName" value="TestReport"/>
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl"/>
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html"/>
<target name="run">
<antcall target="test"/>
<antcall target="report"/>
</target>
 
 
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!--改成运行的jmeter脚本地址,”*.jmx“指包含此目录下的所有jmeter脚本-->
<testplans dir="F:\jmeter_scripts" includes="*.jmx"/>
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<path id="xslt.classpath">
<fileset dir="${jmeter.home}\lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}\lib" includes="serializer*.jar"/>
</path>
<target name="report">
<tstamp>
<format property="report.datestamp" pattern="yyyy-MM-dd-hh-mm"/>
</tstamp>
<!--检查jmeter的extras目录下是否有该文档:jmeter-results-detail-report_21.xsl -->
<xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}\extras\jmeter-results-detail-report_21.xsl"> 
<param name="dateReport" expression="${report.datestamp}"/>
<param name="titleReport" expression="${report.title}:${report.datestamp}"/>
</xslt>
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png"/>
<include name="expand.png"/>
</fileset>
</copy>
</target>
</project>

验证:cmd命令行进入jmeter_scripts,执行命令ant 或 ant run(run为build.xml中的task名),执行结果:

ant 对应的java版本 ant 指定jdk版本_jenkins_05


此时,report文件夹中已生成对应的测试报告,且打开内容显示无误。

到此,jmeter+ant配置完成。五、jenkins安装配置

由于安装的jdk版本为1.8.0,jenkins2.346.1(2022年末)开始的版本都不再支持java8,此处我安装的版本是jenkins2.332.1版本。

下载地址:https://mirrors.jenkins.io/war-stable/2.332.1/

下载对应的.war文件至本地。

命令行cd到该.war文件的位置,执行命令:java -jar jenkins.war,运行jenkins

ant 对应的java版本 ant 指定jdk版本_jmeter_06


浏览器打开:localhost:8080,按照网页提示的路径找到密码位置,打开并复制登录。

ant 对应的java版本 ant 指定jdk版本_ant 对应的java版本_07


登录后,需要创建一个登录账号,忘记截图啦。

让我们进入下一步,选择插件来安装,这里我选择的是左边的选项,安装推荐的插件,然后就是安装+耐心的等待。

ant 对应的java版本 ant 指定jdk版本_jmeter_08


我们需要在manage jenkins-manage plugins-available处下载以下两个插件:HTML Publisher(测试报告专用) 和 Ant In Workspace,还有一个,可装可不装:Performance plugin(获取性能指标)。

安装后,需要重启jenkins(命令行ctrl+c退出后,重新执行一次java -jar jenkins.war命令即可)

ant 对应的java版本 ant 指定jdk版本_字段_09


接下来就是激动人心的前一刻啦!

控制面板页面新建一个project,名称自定义呀,我管它叫测试任务,然后选择“freestyle project”,再点击确定。

ant 对应的java版本 ant 指定jdk版本_字段_10


首先,general处勾选“discard old builds”,因为jenkins会保留每次构建的历史记录,此处可以配置保留的最大条数和最长时间。

ant 对应的java版本 ant 指定jdk版本_jmeter_11


然后,我们可以在构建触发器处配置项目的执行周期-日程表。这里运用到的是UNIX定时任务CRON所使用的配置方式。

ant 对应的java版本 ant 指定jdk版本_jenkins_12


通用格式:1 2 3 4 5,其中,第1个字段:分钟 (0-59);第2个字段:小时 (0-23);第3个字段:日期 (0-31);第4个字段:月份 (0-12 [12 代表 December]);第5个字段:一周当中的某天 (0-7 [7 或 0 代表星期天])。

举几个例子:

每五分钟执行一次:H/5 * * * *

每天8点执行一次:0 8 * * *

周一到周五,8点~17点,两小时构建一次:0 8-17/2 * * 1-5

1-6月中每月1号、30号各构建一次:H H 1,30 1-6 *

操作符允许你为一个字段指定多个值:
(*) : 通用符。例,在小时字段中,一个星号等同于每个小时;在月份字段中,一个星号则等同于每月。
(,) : 这个操作符指定了一个包含多个值的列表,例,1,5,10,15,20,25.
(-) : 此操作符指定了一个值的范围,例,5-15 ,等同于使用逗号操作符键入的 5,6,7,,,10。
(/) : 此操作符指定了一个步进值,例如: 0-23/ 可以用于小时字段来指定某个命令每小时被执行一次。步进值也可以跟在星号操作符后边,如果你希望命令行每 2 小时执行一次,则可以使用 */2。

其中,也有一些特殊字符:

@reboot 在每次启动时运行一次
   @yearly 每年运行一次,等同于 “0 0 1 1 *”
   @annually (同 @yearly)
   @monthly 每月运行一次, 等同于 “0 0 1 * *”
   @weekly 每周运行一次, 等同于 “0 0 * * 0”
   @daily 每天运行一次, 等同于 “0 0 * * *”
   @midnight (同 @daily)
   @hourly 每小时运行一次, 等同于 “0 * * * *”

感兴趣的话,可以自己去查一下,感觉蛮有意思的。

再然后,配置构建环境。

这里,我们选择invoke ant。构建需要指定构建项目,如果不指定项目,默认执行的是Jenkins中workspace下的脚本,如果workspace下没有脚本则构建会报错。

ant 对应的java版本 ant 指定jdk版本_字段_13


再设置构建后操作,我们选择Publisher HTML reports。填写本地html报告存放位置。

ant 对应的java版本 ant 指定jdk版本_字段_14


增加构建后操作步骤,选择publish performance test result report,配置本地jtl路径。方便后续查看测试性能指标显示情况。

ant 对应的java版本 ant 指定jdk版本_自动化_15

至此,保存,任务创建成功。
暂停一下,此处,直接执行任务发现有报错,ant.bat不是内部或外部命令,也不是可运行的程序。
一看原来是我的jenkins上没有配置ant的路径。
控制面板-manage jenkins - configure system-ant in workspace plugin,添加本地ant路径;
控制面板-manage jenkins - global tool configuration-ant/jdk,添加本地jdk和ant路径;
项目-配置,invoke ant处添加ant version为global tool configuration处配置的名称。
OK.