8.3.4 参数化增强脚本
以上脚本中的配置信息和邮件字段信息可使用参数化方法,转移到参数表中存储。参数化后,代码有如下变化:
public int action() {
boolean ssl = false;
//获得SMTP环境
Properties props = System.getProperties();
//设置SMTP主机地址
props.put("mail.smtp.host", "<SMTPHost>");
//设置SMTP端口号
props.put("mail.smtp.port","<SMTPPort>");
//设置SMTP用户名
props.put("mail.smtp.user","<UserName>");
Session session=Session.getInstance(System.getProperties(),null);
//设置邮件header字段
String mailer = "<MailHeadere>";
//设置收件人
String sendTo = "<SendTo>";
//设置抄送人
String sendCC = "<sendCC>";
//设置发件人
String sendFrom = "<sendFrom>";
try{
//获得发送实体
SMTPTransport t = (SMTPTransport)session.getTransport(ssl ? "smtps" : "smtp");
//与SMTP主机相连
t.connect("<SMTPHost>","<UserName>","<Passwd>");
MimeMessage msg = new MimeMessage(session);
//设置邮件各个字段
String subject = "<mailSubject>";
String personalName = "<PersonalName>";
String body = "<mailBody>";
String charset = "utf-8";
InternetAddress[] to = new InternetAddress[1];
InternetAddress from = new
InternetAddress(sendFrom,personalName,charset);
to[0] =new InternetAddress(sendTo,personalName,charset);
msg.setFrom(from);
msg.setRecipients(Message.RecipientType.TO,to);
msg.setSubject(subject,charset);
msg.setText(body,charset);
msg.setSentDate(new Date());
//发送邮件
t.sendMessage(msg, msg.getAllRecipients());
}
catch (Exception e){
e.printStackTrace();
}
return 0;
}//end of action
参数化后,验证脚本,能够通过。
我们就可以在参数表中更改测试数据,发送不同字符的邮件了!
中文邮件:如图8-20所示。
图8-20 Java Vuser参数化后成功发送中文邮件
日文邮件:如图8-21所示。
由此可见,通过Java Vuser的自开发程序代码,脚本的灵活性大大增强。这是录制脚本无法比拟的优势。
录制和开发是VU生成脚本的两种方式,我们应该根据项目需求、时间、资源等综合因素考虑选择最合适的方式。
图8-21 Java Vuser参数化后成功发送日文邮件
连载一 连载二 连载三 连载四 连载五 连载六 连载七 连载八 连载九 连载十
本文选自:《51Testing软件测试作品系列》之一的《性能测试从零开始——LoadRunner入门》 ,本站经电子工业出版社和作者的授权,近期将进行部分章节的连载,敬请期待!
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们。