JMeter:Result/Report 发送电子邮件?

JMeter: Result/Report Emailing?

我正在尝试让 JMeter 将结果通过电子邮件发送给我 运行s 一个测试计划,该计划旨在每天 运行 成功或失败以及测试用例。

文档中说 "JMeter has extensive Email capabilities. It can send email based on test results"[1],但我找不到任何东西。经过一些研究,有可能突然出现在 bean 脚本中编写脚本(但再次获取实际结果很困难)以通过电子邮件发送或 运行 在 cron 上创建批处理文件。

问题:这是唯一的选择吗? JMeters 文档含糊地暗示可能有一种内置的方法可以通过可选的添加(我已经添加)来做到这一点,但没有任何指示。 [2]我是否漏掉了一些明显的东西?

[1] http://jmeter.apache.org/usermanual/get-started.html

[2] http://www.jajakarta.org/jmeter/1.7/en/usermanual/get-started.html#opt_email

JMeter 附带 SMTP Sampler 可用于发送包含任意内容的电子邮件,例如当测试结束或发生错误或达到临界阈值时。

理论上,您可以配置 SMTP 采样器以发送 .jtl 结果文件,即 tearDown Thread Group 中的某处,但不能保证结果是完整的。

JMeter 有 jmeter.save.saveservice.autoflush 属性 默认为 "false" 所以 JMeter 定期将结果存储在 .jtl 文件中(不是实时的)你可以将它设置为 "true" 以获得更一致的电子邮件结果 - 在这种情况下,JMeter 将记下每一行,但是在巨大负载的情况下,它可能会导致大量磁盘 IO 开销。

有关示例 SMTP 采样器配置,请参阅 Load Testing Your Email Server: How to Send and Receive E-mails with JMeter 指南。

如果您决定将 autoflush 属性 设置为 true,最好的方法是将以下行添加到 user.properties 文件(在 /bin 文件夹中您的 JMeter 安装)并重新启动 JMeter

jmeter.save.saveservice.autoflush=true

您也可以通过 -J 键将其作为命令行参数提供,例如

jmeter -Jjmeter.save.saveservice.autoflush=true -n -t /path/to/testplan.jmx -l /path/to/results.jtl