Loadrunner支持Java Vuser,而Jmeter本身就是基于Java开发的,所以两者都可以通过JMail组件实现邮件发送。本人使用的是mail-1.4.7.jar,可以通过下载获得:http://download.csdn.net/download/smooth00/10256343

发送邮件除了需要在Loadrunner或Jmeter做好以上Jar包的引用,还需要注意在测试脚本中(Loadrunner为Java Vuser,Jmeter可以是BeanShell)引用以下包:

//发送邮件
import java.util.Properties;
import javax.mail.BodyPart;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.Session;
import javax.mail.internet.InternetAddress;
import com.sun.mail.smtp.SMTPTransport;
import javax.activation.FileDataSource;
import javax.activation.DataHandler;

我们可以对基于Jmail发送邮件的函数进行修改,方便在Loadrunner和Jmeter中调用:

/**
mailToS  邮件接收方(数组)
mailBody 邮件内容
mailFileName 邮件附件(最好是基于相对路径)
**/
public void email(String[] mailToS,String mailBody,String mailFileName) throws Exception {Properties props; //系统属性MimeMessage msg; //mime邮件对象MimeMultipart mp ; // Multipart对象,邮件内容,标题,附件等内容均添加到其后再生成minmemessage对象Session session; //邮件会话String filename=mailFileName;//设置文件名,如Loadrunner的output.txtString host="smtp.exmail.qq.com"; //smtp地址String username="zheng******@rexen.com.cn"; //smtp认证用户名String password="******"; //smtp认证用户密码String subject="ETL数据统计结果报告"+DateFormatUtils.format(new Date(), "-yyyyMMdd HH:mm:ss"); //邮件主题String personalname="锐迅测试组"; //邮件发送人姓名String body=mailBody; //邮件正文String charset="UTF-8"; //邮件字符集String mailFrom="zheng******@rexen.com.cn"; //发件人地址props=System.getProperties();props.setProperty("mail.smtp.host",host);props.setProperty("mail.smtp.port","25");//设置邮件总体信息session=Session.getInstance(props,null);msg=new MimeMessage(session);mp=new MimeMultipart();//邮件头msg.setSubject(subject,charset);InternetAddress[] to = new InternetAddress[mailToS.length];InternetAddress from = new InternetAddress(mailFrom,personalname,charset);msg.setFrom(from);msg.setSentDate(new Date());for(int i=0;i<mailToS.length;i++){to[i]=new InternetAddress(mailToS[i],"测试组",charset);}//附件      BodyPart bp=new MimeBodyPart();          FileDataSource fileds=new FileDataSource(filename);bp.setDataHandler(new DataHandler(fileds));                 bp.setFileName(fileds.getName());mp.addBodyPart(bp);//正文BodyPart bp2=new MimeBodyPart(); bp2.setContent("<meta http-equiv=Content-Type content=text/html; charset=gb2312>"+body, "text/html;charset=GB2312");         mp.addBodyPart(bp2);msg.setContent(mp); //发送邮件SMTPTransport t = (SMTPTransport)session.getTransport("smtp");t.connect(host,username,password);t.sendMessage(msg,to);t.close();
}

Loadrunner下输出邮件内容的样例:

logPrint="-------------["+list[newlist.size()-2]+"] 多表记录数汇总   正常数:"+resultCount1+" 异常数:"+resultCount2+" -------------";
lr.output_message(logPrint);//loadrunner中输出日志
mailString+=logPrint+""+lr.eval_string(""+lr.eval_string("<p>")+"")+"";//将输出日志交由mailString变量转给email函数

Jmeter的BeanShellSampler中的输出邮件内容样例:

logPrint="-------------["+list[newlist.size()-2]+"] 多表记录数汇总   正常数:"+resultCount1+" 异常数:"+resultCount2+" -------------";
log.info(logPrint);//Jmeter中输出日志到log文件
System.out.println(logPrint);//Java在控制面板中输出日志
mailString+=logPrint+"<br>";//将输出日志交由mailString变量转给email函数

我们除了在邮件中可以将Loadrunner和Jmeter输出日志当成附件,我们也可以通过CSV 组件,生成CSV的报告文件,再当作附件通过邮件发送:

String csvFile = "DataSource/S-countETL".concat("-").concat(DateFormatUtils.format(new Date(), "yyyyMMdd")).concat(".csv");
CSVPrint print = CsvFilePrinter(csvFile,false);
print.writeln(new String[]{DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss.SSS"),TestName,""+cont1,result});

最后我们就可以调用email函数了,将以上的测试报告内容和生成的附件,通过Jmail进行邮件发送

email(new String[]{"wu****@rexen.com.cn","li****@rexen.com.cn"},mailString,csvFile);//发邮件给wu和li

以上只是我简单举例,具体应用可以由个人发挥,甚至不需要像我上面这样笨的方式去实现,因为Loadunner完全可以通过自带的邮件协议smtp来发送测试报告,Jmeter也可以通过POP3协议发送相关邮件请求,甚至可以和Ant或Jenkins集成(配置和集成一些邮件组件),自动发送Jmeter的html报告。

如何让Loadrunner或Jmeter发送邮件报告相关推荐

  1. 性能测试工具比较:LoadRunner vs JMeter - 测试结果数据比较

    对web请求(HTTP/HTML)进行性能测试,确认请求响应时间.分别使用Loadrunner和JMeter进行测试,比较测试结果. 1.LoadRunner测试web请求响应时间 1.1  编制(录 ...

  2. jmeter 聚合报告说明_jmeter之聚合报告

    Label:http请求的名字 #Samples:总http请求的次数.比如线程数5,循环次数2,总请求就是5*2=10. Average:单个request的平均响应时间.当响应时间曲线平缓,无波动 ...

  3. 三款性能测试工具kylinPET、LoadRunner、Jmeter在脚本录制与调试上的差异性

    软件的性能测试活动离不开性能测试工具的支持.国外常用的性能测试工具有:loadRunner(商用),Jmeter(开源),国内做的比较好的国产性能工具有kylinPET.性能测试工具的录制和调试是能力 ...

  4. 常用的性能测试工具介绍:LoadRunner和JMeter

    性能测试是软件测试中一个很重要的分支,人们为了提高性能测试的效率,开发出了很多性能测试工具.一款好的测试工具可以极大地提高测试效率,为发现软件缺陷提供重要依据.目前,市面上的性能测试工具很多,有收费的 ...

  5. python 服务监控_python实现监控某个服务 服务崩溃即发送邮件报告

    python实现监控某个服务 服务崩溃即发送邮件报告 发布时间:2020-09-21 02:28:12 来源:脚本之家 阅读:69 作者:黑面狐 前言:最近我们的升级服务器有点不太稳定,经常崩溃掉.然 ...

  6. jmeter聚合报告

    Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值. 样本:表示这次测试中一共发送的请求数量,如果线程数量 ...

  7. jmeter聚合报告如何添加单位_jmeter接口测试聚合报告如何保存

    1. 如何使用jmeter做一个简单的测试 1.双击bin目录下的jmeter.bat,打开jmeter,右击测试计划,添加–Threads(Users)-线程组. 2.添加http请求. 3.添加聚 ...

  8. 理解jmeter聚合报告

    Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为"聚合报告".今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下, ...

  9. jmeter聚合报告如何添加单位_JMeter聚合报告(Aggregate Report)理解

    AggregateReport 是 JMeter 常用的一个 Listener,中文被翻译为"聚合报告". 对于每个请求,它统计响应信息并提供请求数,平均值,最大,最小值,错误率, ...

  10. 理解 JMeter 聚合报告(Aggregate Report)

    Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为"聚合报告".今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下, ...

最新文章

  1. 幕后我最“牛” | 数据派优秀志愿者风采展
  2. 在jupyter界面误删了jupyter notebook
  3. wordcloud用来制作词云
  4. 计算机教务管理系统ER图,图书管理系统er图 [2].doc
  5. php怎么压缩文字,php实现的简单压缩英文字符串的代码
  6. VC编辑框(EDIT)的自动换行、自动滚屏 、到指定行数自动清空
  7. Java-命令行传递参数
  8. window环境下安装Python2和Python3
  9. StereoPannerNode
  10. Javascript链式调用案例
  11. 轻松搞懂Word2vec / FastText+BiLSTM、TextCNN、CNN+BiLSTM、BiLSTM+Attention实现中英文情感分类
  12. segnet---训练
  13. Codevs3315时空跳跃者的魔法
  14. redis,Redis Desktop Manger和IDEA Iedis的安装和使用
  15. maven仓库的优先级,profile的优先级
  16. 如何看待家长培训课?
  17. 汽车以太网芯片IP的功能安全验证和优化
  18. python对淘宝运营有帮助吗_优秀的淘宝运营需要具备哪些能力
  19. 计算机专业术语session,Session
  20. python实训总结万能版3000字_万能实习报告论文范文3000字

热门文章

  1. 提高网速软件测试简历,测试局域网网速的方法
  2. 一则 HTTP 405 Method Not Allowed 的解决办法
  3. 【Codecs系列】X265编码器(六):lookahead模块分析
  4. [JPA错误]javax.persistence.EntityNotFoundException: Unable to find xxx
  5. 计算机一级照片错误怎么改,电脑上要怎么修改一寸照片大小
  6. vue实战项目-ego商城
  7. OpenCV——SAD立体匹配
  8. ubuntu 20.04.1安装Google输入法
  9. 发送网页内容到onenote_将网页中的信息快速添加到OneNote笔记本的方法
  10. 第4节课第一节 Dos攻击