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 ...
随机推荐
- mysql对身份证号码进行脱敏处理
select * from test 格式:INSERT(str,pos,len,newstr) 解释: str:查询的例 pos:起始位置 len:从起始位置开始被后面newstr替换的长度 new ...
- python设计模式第六天【原型模式】
1.定义 使用原型模式复制的对象与原来对象具有一样的结构和数据,有浅克隆和深克隆 2.应用场景 (1)希望复制原来对象的结构和数据胆步影响原来对象 3.代码实现 #!/usr/bin/env pyth ...
- Yii2控制台命令
Yii2控制台表格输出: 例如: $in_sheet_number_queue = []; $wms_material_in_sheet_list = \core\models\WmsMaterial ...
- java 中 System
package cn.zhou.com; /* * System 类 * * 不能实列化 * * long t=System.currentTimeMillis();//用于计算程序的执行时间! * ...
- Vivado安装、生成bit文件及烧录FPGA的简要流程
https://wenku.baidu.com/view/0294cbb3bb4cf7ec4bfed01a.html
- 将数组Arrays转成集合List
String[] split = pids.split("-"); //将数组split转成集合 List<String> asList = Arrays.asList ...
- codeforces158C
Cd and pwd commands CodeForces - 158C Vasya is writing an operating system shell, and it should have ...
- hdu-2255(带权二分图)
题解:板子题.... #include<iostream> #include<cstring> #include<cstdio> #include<queue ...
- Nginx 接受上游缓存流程
L:101 这个指令主要是由上游服务器来决定是否缓存 详见博客Nginx 针对上游服务器缓存
- Go语言流程控制
1.条件语句 几个注意点和C#不一样的. { } else { } ① 条件语句不需要使用括号将条件包含起来 a<5 ,C#必须有() ②无论语句体内有几条语句,花括号{}都是必须存在的:C#如 ...