我正在尝试让JMeter在运行测试计划后通过电子邮件将结果发送给我,该计划旨在每天运行成功或失败以及测试用例。
在文档中声明" JMeter具有广泛的电子邮件功能。它可以根据测试结果和#34; [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
答案 0 :(得分:0)
JMeter附带SMTP Sampler,可用于发送包含任意内容的电子邮件,例如在测试结束或发生错误或达到临界阈值时。
理论上,您可以将SMTP Sampler配置为发送.jtl结果文件,即tearDown Thread Group中的某个位置,但无法保证结果将已满。
JMeter具有jmeter.save.saveservice.autoflush
属性,默认为“false”,因此JMeter会定期将结果存储在.jtl文件中(不是实时)您可以将其设置为“true”以获得更一致的结果到电子邮件 - 在在这种情况下,JMeter会写下每一行,但是如果负载很大,可能会导致巨大的磁盘IO开销。
请参阅Load Testing Your Email Server: How to Send and Receive E-mails with JMeter指南,了解SMTP Sampler配置示例。
如果您决定将autoflush属性设置为true,最好的方法是将以下行添加到 user.properties 文件(在JMeter安装的/ bin文件夹中)并重新启动JMeter
jmeter.save.saveservice.autoflush=true
您也可以通过-J key(如
)将其作为命令行参数提供jmeter -Jjmeter.save.saveservice.autoflush=true -n -t /path/to/testplan.jmx -l /path/to/results.jtl