下载的工具版本:
apache-jmeter-3.0
apache-ant-1.8.4
jenkins-2.46.3
之前用jmeter写了测试接口的脚本,运行及返回结果都正常,所以需要做的就是工具的配置。
首先是ant+jmeter的整合:
1、下载ant后解压,我是将解压后的文件放在D盘,地址D:\apache-ant-1.8.4,配置好环境变量(参考上一篇文章)
2、将Jmeter所在目录下extras子目录里的ant-jmeter-1.1.1.jar复制到ant所在目录lib子目录之下,ant运行时才能找到
"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,之后可以触发Jmeter脚本
3、建了一个目录D:\jemeterTest\resultLog,目录中分别建立了html和jtl两个文件夹,之后Ant运行之后将jtl中的文件转换成html中
4、在D:\jemeterTest文件中建立一个build.xml文件,内容见文章最后。
5、进入Dos窗口,cd到目标路径下(我的是D:\jemeterTest),输入命令ant敲回车,运行结束会有success信息提示
运行结束后文件如下;
接下来安装jenkins,我下载的是一个镜像文件,然后就是一路next(可以更改自己的安装路径)。
安装完成之后会自动弹出浏览器,其中地址是http://localhost:8080,因为我之前安装了tomcat(默认端口是8080),因此需要更改jenkins文件配置,找到 jenkins安装目录下\Jenkins\jenkins.xml文件,然后更改端口号,我改成的是6060(httpPort=6060 )
然后重新启动jenkins,打开浏览器,输入http://localhost:6060,打开界面会有一个admin用户登录界面,需要输入密码,给出的英文提示是需要到安装目录文件下找到secrets文件夹,然后再initialAdminPassword文件中复制内容到登录界面的密码框中,登录即可。
之后就是需要将要进行自动化的内容联合进来。
1、因为需要用到ANT,所以需要在jenkins中添加插件,选择ant plugin,点击安装,之后可以在Global Tool Configuration的界面看到ant选项,然后将自己本地的ANT地址填写上
2、我自己写了一个python的脚本,作为下一个构建运行之前的前置操作。
新建一个构建项目
丢弃旧的构建
旧的构建保存了你在上一次构建中的所有临时文件,如果构建没有保留的必要,就勾选丢弃旧的构建,同时设置保持构建天数和保持构建的最大个数 两个参数。
15分钟运行一次,不填写则不会构建
添加需要运行的python脚本,构建的选项选择Execute Windows batch command,然后填写命令,python的环境变量已配置(我将脚本放在了workspace文件夹中,具体可查看环境变量列表)
然后点击添加一个构建步骤按钮,添加一个ANT的构建,ANT Version就填写Global Tool Configuration界面中配置的名字
创建完成之后点击保存,之后进入到以下界面,可以点击立即构建,查看结果
附件build.xml文件内容
<?xml version="1.0" encoding="utf-8"?>
<project name="JmeterTest" default="all" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的Jmeter目录 -->
<property name="jmeter.home" value="D:\apache-jmeter-3.0" />
<!-- Jmeter 生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="D:\jemeterTest\resultLog\jtl" />
<!-- Jmeter 生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="D:\jemeterTest\resultLog\html" /> <property name="ReportName" value="TestReport" />
<!-- Jmeter 生成报告的前缀 -->
<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" /> <property name="mail_to" value="kira.chen@xiaoxiongyouxi.com" />
<!--电脑号 -->
<property name="ComputerName" value="SC-201703131330" />
<target name="all">
<antcall target="test" />
<antcall target="report" />
</target>
<!-- 解决html报告中mintime和maxtime显示成NaN的问题(参考,不一定能解决) -->
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan-2.7.2.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本。".jmx"指包含此目录下所有的Jmeter脚本 -->
<testplans dir="D:\jemeterTest" includes="*.jmx" />
</jmeter>
</target>
<target name="report">
<xslt
<!-- 解决html报告中mintime和maxtime显示成NaN的问题(参考,不一定能解决) -->
classpathref="xslt.classpath"force="true"
in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report.xsl">
<param name="showData" expression="${show-data}"/>
<param name="titleReport" expression="${ReportName}${time}"/>
<param name="dateReport" expression="${ReportName}${time}"/>
</xslt>
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>
————————————————
版权声明:本文为CSDN博主「kira_2016」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lanyangyangb/article/details/73655713