持续集成: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><xsltclasspathref="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 SUCCESSFULTotal 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
点击阅读☞
点击阅读☞
点击阅读☞
点击阅读☞
点击阅读☞
