性能测试从零开始—LoadRunner入门(十)[2] 性能测试工具
点击打开mailnote1_02.dat,我们看到如下数据:
Content-Type: text/html;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable
=EF=BB=BF
size=3D2>=E8=BF=99=E6=98=AF=E4=B8=80=E5=B0=81=E6=B5=8B=E8=AF=95=E9=82=AE=E4=
=BB=B6=E7=9A=84=E6=AD=A3=E6=96=87test
这些看起来都不是很陌生,和网页的DOM源码非常相像。没错,因为Outlook发送邮件的格式默认是html的,所以其实邮件正文里暗含了html的格式数据。
8.2.3 回放SMTP Vuser脚本并分析网络日志
我们通过上一节的分析已经得知,SMTP Vuser将发送邮件的动作转化成了VU 函数,但这是不是对SMTP协议一个完整的模拟呢?我们知道SMTP协议是由一系列操作原语组成的,如HELO、MAIL FROM、RCPT TO等。如果回放SMTP Vuser脚本,同时我们在网络上能捕获到这些原语,就说明SMTP Vuser确实是对SMTP协议进行了封装和实现。
回放脚本,同时使用Ethereal在网络上捕捉从客户端到cesoo服务器25端口的数据。我们捕捉到网络交互如下:
发送者 接收者 数据内容
01. Intel_a3:e8:ef BroadCast Who has 192.168.1.100?
02. 1d:7d:4a:66 Intel_a3:e8:ef 192.168.1.100 is at 1d:7d:4a:66
03. 192.168.1.1 192.168.1.100 smtp syn
04. 192.168.1.100 192.168.1.1 220 server ready.
05. 192.168.1.1 192.168.1.100 HELO
06. 192.168.1.100 192.168.1.1 cesoo.com hello, glad to meet u 软件测试
07. 192.168.1.1 192.168.1.100 MAIL FROM:test1@cesoo.com
08. 192.168.1.100 192.168.1.1 250 sender is OK
09. 192.168.1.1 192.168.1.100 RCPT TO:test1@cesoo.com
10. 192.168.1.100 192.168.1.1 250 receipt is OK
11. 192.168.1.1 192.168.1.100 DATA
12. 192.168.1.100 192.168.1.1 Enter mail, end with “.”
13. 192.168.1.1 192.168.1.100 Message body
14. 192.168.1.1 192.168.1.100 Message body
15. 192.168.1.1 192.168.1.100 Message body
16. 192.168.1.100 192.168.1.1 221 cesoo.com closing connect
注:以上数据经过过滤和整理。192.168.1.1为客户端,192.168.1.100为Server端,即cesoo.com。
我们可以看到1和2是网络ARP协议,用来确定服务器地址。而下面的交互完全遵循SMTP协议规范,老老实实地按照HELO、MAIL FROM、RCPT TO、DATA的顺序进行对话。所以我们从这里可以看到SMTP Vuser确实对SMTP协议进行了一次完全的封装。最后在网络中传递的message body如下: