关于Jenkins+jmeter;jenkins+ant+jemter配置注意点

这几天百度的头都大了一圈。。。关于配置jenkins时候遇到的坑点,作为一个记录贴

jenkins+jmeter为了实现自动发送邮件报告

邮件发送有两种,一个是jenkins自带的,一个是需要下载插件的这个都可以百度到,

①系统自带的内容无法编辑,比较简单

然后再系统配置里

翻到最下面的的邮件通知配上需要发送的邮箱的一些信息即可

 通过邮件测试是可以发送成功的,但是内容比较简单

②一般都会采用第二种安装Extended E-mail Notification插件进行,

在系统配置里有两个地方需要配置,敲黑板划重点!!一个是在邮件通知,一个是Extended E-mail Notification也需要配置一遍,如果不配置,就是测试邮件发送成功也无法发送邮件,一开始只配了邮件通知+构建任务内的下载的插件配置的那部分

这边可以配置默认的发送模板,也可以在需要构建的任务内单独配置,发送人用英文小逗号隔开

发送的邮件添加构建日志 

这里还有个需要配置的就是触发器,什么情况下去发送,不然可能手动构建就不发送,我这边选的是总是,每次构建都会发送

,找不到功能就点高级选项,一般都会有你想要的功能 

如果想要生成Jmeter报告,就增加该构建步骤,将运行命令写在这里面即可

set datef=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%(时间格式化
jmeter安装的bin目录\jmeter -n -t 执行jmx文件所在的路径\XXX.jmx -l 生成jtl文件存放路径\resultLog\jtl\jtl_%datef%.jtl  -e -o 生成测试报告文件存放路径\resultLog\html\%datef%_xz

如果不添加时间后缀,可能运行一次就得清理一次对应的文件夹,很麻烦,这边加上只要不重复就可以自动运行

jmeter.properties里的一行改成jmeter.save.saveservice.output_format=csv

下面是定时发送设置

每天的4,10,16,21点都会自动运行一次

0 4,10,16,21 * * *

每隔五分钟运行一次
*/5 * * * *

这些配置完后收到邮件,但是邮件内模板参数未替换成对应的值。。。。原因还没百度到,有没有大佬告知下。。。

-------------------------------------------------------分割线--------------------------------------------------------------

jmeter+ant+jenkins

这种主要是靠ant的xml文件中配置的内容去发送邮件,与jenkins邮件配置无关,一开始调试可以直接在cmd窗口下运行ant,使用QQ邮箱时候465端口出现的错误

后面换成587端口还是不行,百度了几个小时按网上各种配置都不行

 最后换成139邮箱一次性成功,上面有贴图139邮箱服务器地址及端口

附上xml配置文件:

<?xml version="1.0" encoding="UTF8"?>
<project name="Jmeter-TestCase" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmmss"/>
</tstamp>

<!-- 发送给哪些人-->
<property name="mail_to" value="xxxx@139.com"/> 
<!--抄送给哪些人,多个用逗号隔开/ -->
<property name="report.title" value="自动化接口测试报告"/>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\Jmeter\apache-jmeter-5.1.1"/>
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="D:\Jmeter\apache-jmeter-5.1.1\resultLog\jtl"/>
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="D:\Jmeter\apache-jmeter-5.1.1\resultLog\html"/>
<!-- 生成的报告的前缀 -->
<property name="ReportName" value="萧中主流程" />
<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"/>
<!--定义每次build.xml要执行全部的任务-->  
<target name="run">
<antcall target="test"/>
<antcall target="report"/>
<antcall target="mail" />
</target>
<!-- 执行第一个任务 执行test-->
<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\apache-jmeter-5.1.1\bin" includes="XZ_HighFrequencyF.jmx"/>
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<!--执行第二个任务 生成报告-->
<target name="report">
<xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl"/>
<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png"/>
<include name="expand.png"/>
</fileset>
</copy>
</target>

<!--执行第三个任务,发送邮件-->
<target name="mail">
<!--读取输出的控制台日志文件并写入邮件正文-->
<loadfile property="output" srcFile="${jmeter.result.html.dir}/${ReportName}${time}.html" encoding="UTF-8"/>
<!-- 此处配置SMTP服务器   POP3授权码   发送邮箱地址   端口  发送邮箱主题-->
<mail tolist="${mail_to}"  mailhost="smtp.139.com" mailport="25" user="xxxxx@139.com"  password="邮箱的授权码"  subject="jmeter测试报告" messagemimetype="text/html">
<from address="xxxxxxx@139.com" />
<fileset dir="${jmeter.result.html.dir}">
<include name="${ReportName}${time}.html"/>
</fileset>
<message>  
这是用Ant+jmeter+jenkins自动发送的测试报告
${output}
</message>  
</mail>  
</target>
</project>
 

jmeter.properties文件需要改动的地方如图,关键是jmeter.save.saveservice.output_format=xml这一行

这边还有个注意的点是不管是jenkins里的password还是xml里的password,这里都不是指的邮箱密码,是邮箱的授权码,一般在账户信息菜单里

 下面附上在jenkins里需要设置的地方

系统配置管理里:

构建的任务内添加

 这边还需要下载安装插件 HTML Publishe然后填写以下信息

 

 设置完定时任务,就可以正常收到测试报告了

补充:ant的 lib目录下需要有这三个jar包

activation-1.1.jar,commons-email-1.1.jar,mail-1.4.jar

 如果想要更细致的报告,可以调整xml文件内的模板style="jmeter安装路径/extras/jmeter.results.shanhe.me.xsl"

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值