本空间所有日志均为原创,如有转载请注明出处!!!!!!!
有需要讨论问题的可加QQ:28005389(上班时间一般都在隐身),邮箱hurh_888@sina.com
共同学习、共同进步
Loadrunner Port Mapping录制方法(一种通用的录制脚本的方法)
上一篇 /
下一篇 2008-08-21 16:24:49
/ 个人分类:loadrunner
以下观点仅是本人对loadrunner的理解所写,不一定正确,仅供大家参考!如果有不对的地方还请指出!
E#H(V-["l0我们在很多时候因为无法录制脚本而困惑,如loadrunner使用FTP协议录制Core FTP Lite时,只能看到loadrunenr捕获到事件,但无法生成脚本,又比如使用POP3或SMTP协议录制邮件收发时也是只能捕获到时间,但无法生成脚本,此时我介绍一种万能的录制方法可以解决这个问题。51Testing软件测试网2t'ka!P m|!s
其实loadrunner录制的基本原理就是通过Port Mapping这个方法实现的,只不过我们在平时没有在意而已,那么先来介绍一下loadrunner典型的录制原理,再介绍一下loadrunner使用Port Mapping方式的录制原理。
([ky}|.j0通常情况下,我们在录制脚本的过程是:51Testing软件测试网 qs~9z9m1q `Zc)z
y
1、 选择协议51Testing软件测试网9|
l7H@#Ub
2、 输入要录制的URL或指定要录制的应用程序的路径
.l.`v*B-c:T2f5b03、 选择录制脚本的位置,存放在哪个ACTION中51Testing软件测试网1e4qr2Yq-f
4、 设置录制选项51Testing软件测试网
La tS)qz
5、 开始录制
&@3\:v
A
{&VK4_`Z0本文来自户瑞海的测试空间
|:s]zV}2u2chuP0此时loadrunner会自动监控你所指定的URL或应用程序所发出的请求及服务器返回的响应,它做为一个第三者监视着客户端与服务器端的所有对话,然后把这些对话记录下来,生成脚本,再次运行时模拟客户端发出的请求,捕获服务器端的响应。它在做监视时会自动捕捉客户端发出请示时所用的端口,并根据请求内容向服务器端的相应端口发送,而服务器回应时,根据请求消息中的端口向客户端某个端口发出回应,也就是说loadrunner监听的端口是由应用程序或请求所决定的。
0Whd7Oh0Yq0 好了,知道通常情况下loadrunner录制脚本的原理后,我们在说一下Port Mapping录制脚本的原理:
hyll1]8h0 Port Mapping录制过程是:51Testing软件测试网5n1t't m!xaHV
我们已使用POP3协议录制收邮件的过程来举例51Testing软件测试网7R8u%}(w-YAX,|4MK
1、 选择协议,选择POP3协议
*qW|/zT VX02、 在要录制的应用程序路径中输入“loadrunner安装路径\bin\wplus_init_wsock.exe”51Testing软件测试网b6{ x$uumf
:Qrz,J,IG^`03、 设置录制选项,在NETWORK的Port Mapping中新建一个代理
T!i+x9{YPOm051Testing软件测试网 w5y `/I
C
根据下图新建一个代理:
$}?W?9H+^:{*E!h{)n0
E3ShLfz0在socket service设置中,要指明你客户端程序要连接的服务器地址、端口、协议、录制脚本的类型等选项,由于负责收邮件的服务器默认的端口是110,所以我们这里将PORT设置为110;
~%@s?,P(M)l1?0在TRAFFIC FORWARDING设置中,这个端口可以为任意端口,主要是为了让loadrunner启动的代理服务知道要把所有发往指定端口111的请求转发给指定服务器的110端口
\~,Q;i*}
N0本文来自户瑞海的测试空间
/v0@8tm6J r!x0原理图如下:51Testing软件测试网&]6m.X7K
v
51Testing软件测试网5E;h/n1ww4qN1A\
4、 设置要录制的程序端口51Testing软件测试网
HDh*GY
将要录制的应用程序原本发往外网服务器的请求发送到本地的loadrunner启动的代理程序上,以便loadrunner进行监控51Testing软件测试网NYz\R/j-@
kT9M#r2i5Jo.k f/V2]0设置发送到本地的111端口:51Testing软件测试网g E?|tK8w
51Testing软件测试网.XKpV-D
5、 完成以上设置后,就可以开始录制脚本了
EY pEf0在录制脚本时我们会看到loadrunner会启动一个代理程序
HT6_
|jd v7mj0
SA$^;j%fa%FC0 这个就代表我们设置的代理服务正常启动了。通过重新录制我们不仅看到了loadrunner捕获到了事件,而且正确生成了脚本。
J8XR&L2c!H$l0本文来自户瑞海的测试空间51Testing软件测试网];A?2pC;{a`
好了,总结一下Port Mapping录制的录制原理:
1[lgD[l-y@ ?0首先将要录制的应用程序向服务器发送请求的服务器地址和端口改为本地计算机及111端口,在Port Mapping中设置的代理程序再将发往111端口的所有请求转发给真正的服务器端,相当于loadrunner强制性的将本地某端口的通讯录制了下来,通过这个代理更明确了需要监控的端口和协议。51Testing软件测试网&b-[7S1Jm[n
wO:{
其实loadrunner通常使用的录制方式也是采用这样一个原理,只不过我们并不知道它具体监控的是哪个端口,而在Port Mapping录制方法中我们明确的指定了监听端口。可以说通常的录制方法是一种隐性的,而后一种录制方法是显性的。51Testing软件测试网aK.YH8eg&E]
可以通过此方法录制我们现有的所有协议的脚本,不会再出现只看到事件无法生成脚本的情况了!51Testing软件测试网~*zU'vy0Q;gT
其实这才是一种通用的录制方法!51Testing软件测试网%p)u6C7T#o2h2k
本文来自户瑞海的测试空间
t"L;a)B q0本人正在参加“最有价值技术BLOG"的评选,请为我投上你宝贵的一票,谢谢
6k'x
\'FP0投票地址为http://bbs.51testing.com/thread-123522-1-1.html51Testing软件测试网V rK.][
请投给huruihai51Testing软件测试网H~DC,|I+E([
谢谢
#\9WFwmi`t0 )|
Fu*Z:Qt;nX0 (MqIQ;y'Mz:X0
+c8m g$]4b0
收藏
举报
TAG:
loadrunner