我对Jmeter完全不熟悉。
在我的公司,我们使用Jmeter来分析我们的应用程序的性能。 Jmeter必须连续运行,一些SLA依赖于Jmeter。
有时由于Jmeter停止运行。我们不能有一个人监控这个任务。我正在寻找一个选项,Jmeter将在当前状态每1小时发送一次电子邮件更新。但是我无法找到任何细节。如果有人分享关于这是否可能的细节,那将是很好的。
谢谢
答案 0 :(得分:2)
最简单的选择是在单独的线程组中使用JMeter的SMTP Sampler,它将每小时或通过Constant Timer
触发但是,如果您需要更多控制权以及有关正在运行的线程,正常运行时间以及需要对邮件进行更多控制的其他额外信息,则可以使用Beanshell。
参考Beanshell代码发送电子邮件:
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.List;
import java.util.Properties;
Properties mailprops = new Properties();
mailprops.put("mail.smtp.host", props.get("mail.host"));
mailprops.put("mail.smtp.auth", "true");
MailAuthenticator mailauth = new MailAuthenticator(props.get("mail.username"), props.get("mail.password"));
mailprops.put("mail.smtp.sumbitter", mailauth.getPasswordAuthentication());
Session session = Session.getDefaultInstance(mailprops, mailauth);
Message message = new MimeMessage(session);
InternetAddress from = new InternetAddress(props.get("mail.username"));
message.setFrom(from);
for (String recipient : props.get("email").split(",")) {
InternetAddress to = new InternetAddress(recipient);
message.addRecipient(Message.RecipientType.TO, to);
}
message.setSubject("Any reasonable subject for " + new Date());
message.setHeader("Content-Type", "text/plain; charset=UTF-8");
StringBuilder sb = new StringBuilder();
sb.append("Anything you would like to include in your email");
message.setContent(sb.toString(), "text/plain; charset=UTF-8");
Transport.send(message);
这两种方法都假设存在并配置了外部SMTP服务器(您可以使用任何公共服务器)