本节书摘来自华章计算机《LoadRunner性能测试巧匠训练营》一书中的第2章,第2.3节,作者:赵 强 邹伟伟 任健勇 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.3 深入理解协议选择
上述操作完成后,小白立刻打开VuGen,想看看传说中的LoadRunner到底如何。就在他刚刚兴奋起来时却看到如图2-7所示的界面,原来还要熟悉协议才行,因为协议对于LoadRunner来说是很重要的。
那么接下来,就按部就班地来学习协议的相关知识吧。
首先需要明白协议是什么?可以把协议理解为数据包在交换、通信时要按照统一的约定,这样双方才能识别,否则一个用A格式,一个用B格式,那不就对不上号了吗?当然也就无法识别了。所以,协议的选择至关重要。
其次,LoadRunner与协议又有什么联系呢?LoadRunner录制时不关心对象是什么,LoadRunner有一个Agent进程来专门监控客户端和服务器之间的通信。所以,LoadRunner录制时关心的是通信,是客户端和服务器之间的数据包,也就是协议。
小白在BestTest论坛上看到有许多人会问为什么有时LoadRunner不能录制或录制出来的脚本为空。也许就是这个原因,因为LoadRunner不认识用户的协议,所以LoadRunner截获的数据包不能解析。
也有很多人认为只要是B/S结构的,都选择HTTP,如果不是B/S的,就选择Socket,这种说法是比较片面的。因为一般Socket是万能协议,任何对象都可以通过它来传输。所以要真正理解这个问题,必须清楚所测系统的数据流采用什么协议包装。最好能向开发人员多了解,多学习。
到这里小白还有一个疑问:这么多协议一般该怎么选择呢?带着这个疑问,小白查阅资料后做出如下总结。
- Web类型网站:协议选用HTTP/HTML。
- FTP服务器:协议选用FTP。
- 邮件服务器:协议选用IMAP(同步邮件电子邮件)、POP3(接收电子邮件)、SMTP(发送电子邮件)。
- 以ADO、OLEDB方式连接后台数据库的C/S客户端:协议选用MS SQL Server、Oracle、Sybase、DB2。
- 以ODBC方式连接后台数据库的C/S客户端:协议选用ODBC。
- 没有后台数据库的C/S客户端:协议选用Socket。
虽然总结不是十分全面,但是对于我们已经足够用了。为了方便,小白选择使用WebTours程序来进行后续的练习。