性能测试从零开始—LoadRunner入门(十)[1] 性能测试工具
8.2.2 对SMTP Vuser录制生成的脚本进行分析
我们在Outlook上的一系列操作,包括登录和发送邮件,被VU转换成一系列函数,比如smtp_logon_ex和smtp_send_mail_ex等。下面我们对这些函数进行分析。
(1)在lr_start_transaction(“sendMail”)语句之前未有其他语句。而在sendMail之前,实际上在Outlook之前已经完成了登录,并且在网络上有了67个事件交互。显然,SMTP Vuser对这些网络交互事件并不感兴趣,因为它们并没有转化成脚本。这只能说明一个事实:Outlook登录操作的底层走的网络协议并不是SMTP协议(实际上是IMAP协议)。
(2)smtp_logon_ex是SMTP Vuser提供的一个函数,实现的是SMTP的登录认证。
(3)smtp_send_mail_ex是SMTP Vuser的一个最主要的功能,其作用是将一封邮件发送到指定的E-mail地址。
“From=test1@cesoo.com”是设置发件人地址。
“To=test1@cesoo.com”是设置收件人地址。
“Subject==?utf-8?B?6L+Z5piv5LiA5bCB5rWL6K+V6YKu5Lu25qCH6aKYdGVzdA==?=”是设置邮件的标题(subject)。
从上一节的SMTP协议规范我们知道,SMTP网关一直保持7位ASCII码的“古老传统”,因此任何多字节的数据在经过SMTP协议之前必须要经过编码。在这里,“?utf-8?”说明Oultlook 2003用的是utf-8编码方式,而“6L+Z5piv5LiA5bCB5rWL6K+ V6YKu5Lu25qCH6aKYdGVzdA”则是 “这是一封测试邮件的标题”的编码后字节表现形式。
(4)“AttachRawFile=mailnote1_01.dat”和“AttachRawFile=mailnote1_ 02.dat”,则是邮件正文的传送方式。检查录制后的脚本,发现左侧导航栏中多了“mailnote1_01.dat”和“mailnote1_02.dat”两个节点,如图8-14所示。
点击打开mailnote1_01.dat,我们看到如下数据:
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: base64
6L+Z5piv5LiA5bCB5rWL6K+V6YKu5Lu255qE5q2j5paHdGVzdA0K 软件测试
图8-14 SMTP虚拟用户脚本中的数据区
这是对邮件正文的编码,同样的utf-8编码,“6L+Z5piv5LiA5bCB5rWL6K+ V6YKu5Lu255qE5q2j5paHdGVzdA0K”则是“这是一封测试邮件的正文”的utf编码后字节表现形式。