一、实现逻辑步骤:

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配置文件,里面配置说明如下)

 
  1. <?xml version="1.0" encoding="UTF-8"?>

  2. <project name="ant-jmeter-test" default="run" basedir=".">

  3. <tstamp>

  4. <format property="time" pattern="_yyyy_MMdd_HHmmss" />

  5. </tstamp>

  6. <!-- 需要改成自己本地的 Jmeter 目录-->

  7. <property name="jmeter.home" value="D:\TOOLS\apache-jmeter-5.4.1\apache-jmeter-5.4.1" />

  8. <property name="report.title" value="接口测试"/>

  9. <!-- jmeter生成jtl格式的结果报告的路径-->

  10. <property name="jmeter.result.jtl.dir" value="D:\TOOLS\apache-jmeter-5.4.1\apache-jmeter-5.4.1\build\report_smoke" />

  11. <!-- jmeter生成html格式的结果报告的路径-->

  12. <property name="jmeter.result.html.dir" value="D:\TOOLS\apache-jmeter-5.4.1\apache-jmeter-5.4.1\build\report_smoke" />

  13. <property name="detail" value="_detail" />

  14. <!-- 生成的报告的前缀-->

  15. <property name="ReportName" value="SmokeReport" />

  16. <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />

  17. <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />

  18. <target name="run">

  19. <antcall target="test" />

  20. <antcall target="report" />

  21. </target>

  22. <target name="test">

  23. <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />

  24. <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">

  25. <!-- 声明要运行的脚本"*.jmx"指包含此目录下的所有jmeter脚本-->

  26. <testplans dir="D:\jenkinsHome\YYSQ" includes="*.jmx" />

  27. <property name="jmeter.save.saveservice.output_format" value="xml"/>

  28. </jmeter>

  29. </target>

  30. <path id="xslt.classpath">

  31. <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>

  32. <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>

  33. </path>

  34. <target name="report">

  35. <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>

  36. <xslt

  37. classpathref="xslt.classpath"

  38. force="true"

  39. in="${jmeter.result.jtlName}"

  40. out="${jmeter.result.htmlName}"

  41. style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">

  42. <param name="dateReport" expression="${report.datestamp}"/>

  43. </xslt>

  44. <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->

  45. <copy todir="${jmeter.result.html.dir}">

  46. <fileset dir="${jmeter.home}/extras">

  47. <include name="collapse.png" />

  48. <include name="expand.png" />

  49. </fileset>

  50. </copy>

  51. </target>

  52. </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中配置邮件模板

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="UTF-8">

  5. <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>

  6. </head>

  7. <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">

  8. <h1 style="text-align:center;font-family:arial;color:green;font-size:35px;">《应用授权接口自动化测试报告》</h1>

  9. <table width="95%" cellpadding="0" cellspacing="0" style="font-size: 13pt; font-family: Tahoma, Arial, Helvetica, sans-serif">

  10. <tr>

  11. <h1 style="text-align:right">本邮件由系统自动发出,无需回复!</h1><br/>

  12. <h1 style="font-size:13px;">【构建项目】: ${PROJECT_NAME } </h1></br>

  13. <h1 style="font-size:13px;">【运行环境】: 房开测试环境</h1></br>

  14. <td style="font-size:13px;color:red;">【构建结果】 : ${BUILD_STATUS} </td>

  15. </tr>

  16. <tr>

  17. <td><br />

  18. <h1 style="font-size:13px;color:green">【构建信息】</h1></br>

  19. <hr size="2" width="100%" align="center" /></td>

  20. </tr>

  21. <tr>

  22. <td>

  23. <ul>

  24. <li>项目名称 : ${PROJECT_NAME}</li>

  25. <li>构建编号 : 第${BUILD_NUMBER}次构建</li>

  26. <li>触发原因: ${CAUSE}</li>

  27. <li>构建状态: ${BUILD_STATUS}</li>

  28. <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>

  29. </ul></br>

  30. <h1 style="font-size:13px;color:green">【最近提交】</h1></br>

  31. <hr size="2" width="100%" />

  32. <ul>${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}</ul>

  33. 提交详情明细: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/></br></br>

  34. </td>

  35. </tr>

  36. </table>

  37. </body>

  38. </html>

  39. ${FILE,path="D:/TOOLS/apache-jmeter-5.4.1/apache-jmeter-5.4.1/build/report_smoke/SmokeRep

  40. 总结:

  41. 感谢每一个认真阅读我文章的人!!!

    作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

      视频文档获取方式:
    这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取

Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐