注意:本文都是window系统实践的
一、下载并搭建ant环境(使用Ant前提条件,系统中已经安装JDK)
1、下载 ant:进入官网,选择 Download 下的 Binary Distributions ,然后选择对应版本(1.10.2 .zip archive 对应jdk8,1.9.10 .zip archive 对应jdk7)下载,然后直接解压
2、配置Ant环境变量:右键计算机属性 --> 高级系统设置 --> 系统属性 --> 高级 --> 环境变量 --> 添加如下的系统变量:
变量名:【ANT_HOME】,变量值:【D:\Program Files\ant\apache-ant-1.9.0】(也就是ANT的安装路径,写自己实际的安装路径就行,得是绝对路径)
变量名:【PATH】,变量值:【 ;%ANT_HOME%bin;】
3、查看是否配置成功
如图则表示成功
可以参考这篇博客
二、整理jar包
1、在 jmeter 的 .\JMeter\apache-jmeter-3.2\Extras 目录下找到 ant-jmeter-1.1.1.jar 文件,将它复制到 ant 的 \lib 目录下
2、在网站上下载commons-email.jar包,然后放在 ant 的 \lib 目录下
3、在网站上下载activation-1.1.1.jar包,然后放在 ant 的 \lib 目录下
4、在网站上下载javax.mail.jar包,然后放在 ant 的 \lib 目录下
三、修改 jmeter 的配置文件
打开 jmeter 的 bin 目录,找到 jmeter 的配置文件(jmeter.properties),做如下修改:把输出的默认存储模式改为xml,也就是把 jmeter.save.saveservices .output_format = csv 改为 jmeter.save.saveservices .output_format = xml
四、编写 build.xml文件:
脚本流程:执行测试脚本 ——> 生成测试报告(xml)——> 自动发送邮件
在 .\JMeter\apache-jmeter-3.2\extras 这个目录下有 build.xml 文件,但是需要我们进行调整,才能定制信息
执行接口自动化测试用例
生成接口自动化测试报告
in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}"
style = "${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" >
发送测试报告
ssl="true"
user="${username}"
password="${password}"
mailport="${mail_port}"
subject="${mailsubject}"
messagemimetype="text/html"
tolist="${mail_to}" >
${message}
五、执行
cmd 中(就是在命令终端里)进入build.xml存放的路径,然后输入ant回车执行即可,完成之后可以在build.xml中设置的路径中找到html格式的测试报告
六、问题解决
以下列举的是实操过程中,笔者遇到过的部分问题,如果有遇到其他怪异的问题,可以在评论区留言一起交流一下
1、运行报错:fileset doesn't support the nested "includes" element
最开始是这样写的,但老是报错
后来改成这个样子就好了
2、发送邮件报错:java.lang.ClassNotFoundException: javax.mail.internet.MimeMessage
报这个错可能就是因为缺少第二步里面的一些jar包
3、html测试报告左上角显示“dateReport:date not defined”
自己定义一个时间就好
4、邮件老是报错: Failed to send email: Unknown SMTP host: {mail_host}
百度了老半天,也没找到为什么,又是ping,又是tracert的,都没有问题,最后发现,是我少写了一个“$”符,导致取不到配置信息:
红框是报错地
七、如何把ant+jmeter与jenkins结合起来
有两种方法:
方法一:
构建项目后,在构建步骤里选择execute Windows batch ..:然后在此处填写cmd里实际使用的命令即可
构建后操作选择publish html reports:目录记得用/。Index page处使用正则表达式:*.html(获取所有html文件)
然后执行即可
方法二:
构建项目后,在构建步骤里选择invoke ant——>ant version:default,build file:存放build.xml文件的路径
然后执行即可
八、在jenkins里如何查看性能测试报告
在构建后步骤里选择publish performance test result report:数据路径用正则表示:*/.jtl(如果写具体的路径,可能会报拒绝访问的错误)
九、参考链接