持续集成:JMeter+Ant+jenkins搭建接口自动化测试环境
出品|51Testing软件测试网
1.1 什么是ant?
概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅于此,但是主要用来干这个。
3.1 JMeter部分
<project name="ant-jmeter-test" default="run" basedir=".">
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\mysolution\apache-jmeter-5.3" />
<property name="report.title" value="JMeter接口测试报告"/>
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="D:\Jmeter\report\jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="D:\Jmeter\report\html" />
<!-- 生成的报告的前缀-->
<property name="ReportName" value="APITestReport" />
<tstamp> <format property="time" pattern="YYYYMMDD HHmmss" /></tstamp>
<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}">
<!-- 声明要运行的脚本"*.jmx"指包含此目录下的所有jmeter脚本-->
<testplans dir="D:\Jmeter\script" 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>
<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>
(左右滑动查看完整代码)
BUILD SUCCESSFUL
Total time: 9 seconds
3.3 查看JMeter结果
此报告是\apache-jmeter-5.3\extras这个目录下jmeter-results-detail-report_21.xsl这个样式生成的报告。
5.1 jenkins的安装配置
5.2 jenkins的使用
5.2.1 新建一个job
5.2.2 jenkin 配置中增加Ant插件
5.2.3 立即构建
5.2.4 构建触发器
-
第一个是代表分钟 H 表示随机 -
第二个是代表小时 9-15/4 9点到下午三点期间的每隔4个小时 -
第三个是代表天 * 任意一天 -
第四个是代表月份 1-11 表示1到11月份 -
第五个是代表星期 1-5 表示工作日 -
H(9-18) 9点到18点 中随机的一个点,没有用到 H 随机的话,不要加括号
* * * * * 表示任何一个时间段,同一个时间都可能会触发执行。不建议使用
H/30 * * * * 表示每天每隔 30分钟构建一次
H 4-19/3 * * * 表示,一天的凌晨点到下午7点,每隔3个小时构建一次
* * 3-5 * * 表示,每个月的3号,4号,5号 都会被构建,具体时间未知
* * * * 1-5 表示,工作日时会构建,具体时间未知
H/30 8-19/3 1-28 1-11 1-5 表示 在1月到11月中的1号-28号,每个工作日,早晨的8点到下午7点每隔3.5个小时会触发构建
5.3 jenkins其他配置
5.3.1 丢弃旧的配置
5.3.2 邮件通知设置
5.4 构建结果说明
5.4.1 构建状态
lSuccessful蓝色:构建完成,并且被认为是稳定的。
lUnstable黄色:构建完成,但被认为是不稳定的。
lFailed红色:构建失败。
lDisable灰色:构建已禁用。
5.4.2 构建稳定性
5.4.3 构建历史界面
End
点击阅读☞
点击阅读☞
点击阅读☞
点击阅读☞
点击阅读☞