一、实现逻辑步骤:
1、本机安装ant;
2、jenkins中安装ant插件;
3、创建ant的build.xml;
4、在jenkins的job 中的调用ant插件:
1)运行build.xml
2)jenkins调用ant执行jmeter脚本
3)并用ant生成测试报告;
4)将报告存储到指定目录;
5、e-mail插件(editable email notification)
1)系统设置中配置邮件发送账号、密码、端口等;
2)job中配置邮件收件人、发送规则、邮件格式模板等;
6、报告插件(publish html reports)
1)用于生成job中的html报告地址;
2)没有这个插件也可以收到邮件推送的报告;因为ant已经生成了html格式的报告;
1、ant安装配置
1.1 添加环境变量:ant_home=d:\software\ant\apache-ant-1.10.1
在path中添加:%ant_home%\bin
1.2 测试是否安装成功
在cmd中输入ant,如果出现如下提示表示安装成功
1.3 配置ant调用jmeter
拷贝jmeter的jar包到ant目录下
进入jmeter安装目录下的extras文件夹,将ant-jmeter-1.1.1.jar拷贝至ant安装目录下的lib文件夹下,实现连接
创建一个build.xml文件,内容如下:(此文件为ant配置文件,里面配置说明如下)
<?xml version="1.0" encoding="utf-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="_yyyy_mmdd_hhmmss" />
</tstamp>
<!-- 需要改成自己本地的 jmeter 目录-->
<property name="jmeter.home" value="d:\tools\apache-jmeter-5.4.1\apache-jmeter-5.4.1" />
<property name="report.title" value="接口测试"/>
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="d:\tools\apache-jmeter-5.4.1\apache-jmeter-5.4.1\build\report_smoke" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="d:\tools\apache-jmeter-5.4.1\apache-jmeter-5.4.1\build\report_smoke" />
<property name="detail" value="_detail" />
<!-- 生成的报告的前缀-->
<property name="reportname" value="smokereport" />
<property name="jmeter.result.jtlname" value="${jmeter.result.jtl.dir}/${reportname}.jtl" />
<property name="jmeter.result.htmlname" value="${jmeter.result.html.dir}/${reportname}.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:\jenkinshome\yysq" 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}"/>
</xslt>
<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>
1.4 人工运行命令通过ant调用jmeter:
进入存放build.xml的目录,运行ant;ant会按照build文件配置的内容,调用jmeter运行;
生成测试报告,存放在指定的目录;
如果build文件不是默认的build.xml 运行时需要指定文件名 ant -f build_smoke_report.xml
综上所述,ant调用jmeter已经成功,接下来我们希望集成到jenkins中,通过jenkins自动触发;
2、jenkins中配置ant
2.1 安装ant插件
jenkins系统设置,插件管理中,搜索ant plugin ,下载即可;
2.2 配置build:安装完成后,重启jenkins,job中可以看到ant配置信息
此时就可以运行job,会直接调用ant执行jmeter脚本,且生成报告;
但是我们希望在jenkins中能看到ant生成的测试报告,那么接下来就进行jenkins的报告安装配置
3、jenkins的报告安装配置
3.1 安装publish html reports
jenkins系统设置,插件管理中,搜索publish html reports ,下载即可;
安装完成后重启jenkins,打开job可以看到报告配置页面;
build完成后,就可以在job中看到html报告了
截止当前,咱们已经完成了jenkins直接调用ant运行jmeter。并且在jenkins中展示运行的测试报告;
但是我们还不满足,要是能自动将测试报告发给团队小伙伴,发给领导,那就完美了;
4、jenkins测试报告邮件推送
4.1 相关插件安装
jenkins系统设置,插件管理中,搜索editable email notification ,下载即可;
安装完成后重启jenkins,打开job可以看到邮件配置页面;
4.2 首先进入系统管理,系统配置页面,配置邮件账户信息
配置邮件服务器信息
配置管理员邮件账号信息
邮件通知配置
配置完成后,可以发送测试邮件测试配置正确性
4.3 job中配置邮件模板
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>${env, var="job_name"}-第${build_number}次构建日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
<h1 style="text-align:center;font-family:arial;color:green;font-size:35px;">《应用授权接口自动化测试报告》</h1>
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 13pt; font-family: tahoma, arial, helvetica, sans-serif">
<tr>
<h1 style="text-align:right">本邮件由系统自动发出,无需回复!</h1><br/>
<h1 style="font-size:13px;">【构建项目】: ${project_name } </h1></br>
<h1 style="font-size:13px;">【运行环境】: 房开测试环境</h1></br>
<td style="font-size:13px;color:red;">【构建结果】 : ${build_status} </td>
</tr>
<tr>
<td><br />
<h1 style="font-size:13px;color:green">【构建信息】</h1></br>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>项目名称 : ${project_name}</li>
<li>构建编号 : 第${build_number}次构建</li>
<li>触发原因: ${cause}</li>
<li>构建状态: ${build_status}</li>
<li>构建日志: <a href="${build_url}console">${build_url}console</a></li>
</ul></br>
<h1 style="font-size:13px;color:green">【最近提交】</h1></br>
<hr size="2" width="100%" />
<ul>${changes_since_last_success, reverse=true, format="%c", changesformat="<li>%d [%a] %m</li>"}</ul>
提交详情明细: <a href="${project_url}changes">${project_url}changes</a><br/></br></br>
</td>
</tr>
</table>
</body>
</html>
${file,path="d:/tools/apache-jmeter-5.4.1/apache-jmeter-5.4.1/build/report_smoke/smokerep
总结
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入我们,加入方式在文章的最后面
总结:
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!
发表评论