jmeter自动生成测绘报告并发送邮件
步骤:
1.安装ant,添加到环境变量(windows是将bin目录添加到path。cmd命令输入 ant -v 查看版本号)
(mac:brew install ant
ant –version)
ant的作用是打包成一个.war包
2.jmeter的目录 ....你的目录/apache-jmeter-4.0/extras下找到ant-jmeter-1.1.1.jar,把它copy到ant的lib目录下。
(windows为 apache-ant-1.10.0/lib , mac为:/usr/local/Cellar/ant/1.10.4/libexec/lib)
3.打开jmeter的bin目录下的jmeter.properties文件作如下修改:

.build.xml文件:在“你的目录/apache-jmeter-4.0”下新建TestSuite文件夹。

然后在testSuite里面按照图片上面的新建文件夹。将jmeter测试脚本放入script里面
a.执行测试脚本
b.生成测试报告
c.自动发送邮件
<?xml version="1.0" encoding="UTF8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<property name="jmeterPath" value="你的目录\apache-jmeter-4.0"/> <!--jmeter的路径-->
<property name="mailhost" value="smtp.qq.com"/> <!--邮箱的协议-->
<property name="username" value="*********@qq.com"/> <!--邮箱账号-->
<property name="password" value="*********"/><!--邮箱密码-->这个是开启smtp服务的时候,系统给的密码。
<property name="mailfrom" value="**********@qq.com"/><!--由谁来发送-->
<property name="mail_to" value="******@hnair.com"/> <!--发送给谁,多个人用英文逗号分割-->
<property name="mailsubject" value="XX系统接口自动化测试报告"/><!--邮件主题-->
<property name="mail_port" value="587"/><!--端口号-->
<property name="message" value="Hi!请查收下,这是**后台系统接口自动化测试报告,如有任何疑问,请联系我,谢谢!"/><!--邮箱内容-->
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<property name="jmeter.home" value="${jmeterPath}" />
<property name="jmeter.result.jtl.dir" value="${jmeterPath}\TestSuite\report\jtl" /><!--放性能测试报告的地址-->
<property name="jmeter.result.html.dir" value="${jmeterPath}\TestSuite\report\html" /><!--放测试报告的地址-->
<property name="htmlReportNameSummary" value="TestReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${htmlReportNameSummary}${time}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${htmlReportNameSummary}${time}.html" />
<target name="run">
<antcall target="test" />
<antcall target="report" />
<antcall target="sendEmail" />
</target>
<!--执行接口测试-->
<target name="test">
<echo>执行接口自动化测试用例</echo>
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!--要执行的测试脚本-->
<testplans dir="${jmeterPath}\TestSuite\script" includes="cookie实战.jmx" /><!--写入要测试的脚本-->
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<!--解决报告中NAN字段显示问题-->
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan-2.7.2.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer-2.7.2.jar"/>
</path>
<!--生成HTML测试报告-->
<target name="report">
<echo>生成接口自动化测试报告</echo>
<xslt classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" /><!--生成的模版-这是详细的,指定在extras-->
<!--<param name="showData" expression="${show-data}"/>-->
<!--<param name="titleReport" expression="${ReportName}${time}"/>-->
<!--<param name="dateReport" expression="${ReportName}${time}"/>-->
<!--复制图片-->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
<!--自动发送邮件-->
<target name="sendEmail">
<echo>发送自动化测试报告</echo>
<mail mailhost="${mailhost}"
ssl="ture"
user="${username}"
password="${password}"
mailport="${mail_port}"
subject="${mailsubject}"
messagemimetype="text/html"
tolist="${mail_to}">
<from address="${mailfrom}" />
<attachments>
<!--${jmeter.home}/TestCase/report/html/-->
<fileset dir="${jmeter.result.html.dir}">
<include name="${htmlReportNameSummary}${time}.html"/>
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</attachments>
<message>
${message}
</message>
</mail>
</target>
</project>
5.执行命令,将三个包先放入放入ant的lib下,activation.jar,commons-email-1.2.jar,mail.jar
执行以下的两个目录
cd 你的目录/apache-jmeter-4.0/TestSuite
ant
如果出现以下错误:

解决方法:打开腾讯邮箱,点击》设置----账户----POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务下面的POP3/SMTP服务 (如何使用 Foxmail 等软件收发邮件?) 已开启 | 关闭 发信息开启,然后会收到一个验证码,将验证码填入password中
6.可以在邮件里面收到报告,或者可以在report/html中查看报告

jmeter自动生成测绘报告并发送邮件的更多相关文章
- window 下 jmeter+ant 自动生成html报告并发送邮件
一.安装ant 1.ant 下载地址:https://ant.apache.org/bindownload.cgi 2.下载完成解压到指定目录下 3.配置ant 环境变量 新建系统变量 -ANT_HO ...
- jmeter自动生成报告
从JMeter 3.0开始已支持自动生成动态报告,我们可以更容易根据生成的报告来完成我们的性能测试报告. 如何生成html测试报告 如果未生成结果文件(.jtl),可运行如下命令生成报告: jmete ...
- Jmeter系列-自动生成html报告
从JMeter 3.0开始已支持自动生成动态报告,我们可以更容易根据生成的报告来完成我们的性能测试报告. 如何生成html测试报告 如果未生成结果文件(.jtl),可运行如下命令生成报告: jmete ...
- 自动生成AWR报告
--自动生成AWR报告 -------------------2013/09/23 脚本代码: #!/bin/bash AWR_FORMAT=html NUM_DAYS=1 MAX_S ...
- Oracle 每天自动生成AWR报告
经验丰富的老员工希望能够每天为数据库生成1个AWR报告,以便于后期分析数据库的性能变化,手动生成太麻烦,查了一下资料,发现可以自动生成,过程如下. 数据库环境:11gR2 RAC(双节点) AWR报告 ...
- SHELL脚本学习-自动生成AWR报告
自动生成AWR报告,每个小时生成一次. #编辑脚本:vim awr_auto.sh #oracle用户下执行 #!/bin/bash # 每个小时执行一次,自动生成AWR报告 source ~/.ba ...
- jmeter自动生成测试报告
环境要求1:jmeter3.0版本之后开始支持动态生成测试报表 2:jdk版本1.7以上 3:需要jmx脚本文件 基本操作 1:在你的脚本文件路径下,执行cmd命令:jmeter -n -t test ...
- jmeter+ant生成xml报告
1.jdk安装 2.jmter安装 3.ant安装 下载apache-ant-1.10.6-bin.zip,直接解压就可使用,和jmeter类似 ant环境变量配置 新建系统变量:ANT_HOME,变 ...
- jmeter 自动生成测试报告命令
环境要求 1:jmeter3.0版本之后开始支持动态生成测试报表 2:jdk版本1.7以上 3:需要jmx脚本文件 基本操作 1:在你的脚本文件路径下,执行cmd命令:jmeter -n -t tes ...
随机推荐
- python 钉钉机器人发送消息
import json import requests def sendmessage(message): url = 'https://oapi.dingtalk.com/robot/send?ac ...
- falsk 项目中日志设置
app/__init__.py: 1 import logging from logging.handlers import RotatingFileHandler ''' 开发中使用DEBUG级别, ...
- javascript中 json数据的解析与序列化
首先明确一下概念: json格式数据本质上就是字符串: js对象:JavaScript 中的几乎所有事务都是对象:字符串.数字.数组.日期.函数,等等. json数据的解析: 就是把后端传来的json ...
- linux下ssh无法连接的原因
在虚拟机上安装了ubuntu16.04 server,用本机 ssh 连接的时候 无法连接上: 忽然想起在安装的时候有个openssh好像没有勾选,所以在虚拟机上 apt install openss ...
- java 运行 .jar 文件乱码
http://yang3wei.github.io/blog/2013/02/10/java-dfile-dot-encoding-equals-utf-8-gan-diao-luan-ma/ 启动时 ...
- JavaScript学习笔记之数组(二)
JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...
- 开源 DotNetty 实现的 Modbus TCP/IP 协议
本项目的目的是为了学习 DotNetty 与 Modbus 协议,参考 modjn 实现功能 0x01: Read Coils (读取线圈/离散量输出状态) 0x02: Read Discrete I ...
- <c:forEach>可以默认的把以逗号分隔的字符串作为一个集合来遍历
<c:forEach>可以默认的把以逗号分隔的字符串作为一个集合来遍历
- Nginx 如何处理上游响应的数据
陶辉93 一个非常重要的指令 proxy_buffer_size 指令限制头部响应header最大值 proxy_buffering 指令主要是指 上游服务器是否接受完完整包体在处理 默认是on 也就 ...
- FTC诉高通垄断案苹果从中受益
据外媒报道,美国当地时间周二,美国联邦贸易委员会(FTC)诉芯片制造商高通公司(Qualcomm)垄断案进入了终结辩论阶段.这意味着,这起审判也进入最后阶段,它可能颠覆高通在智能手机时代取得成功的至关 ...