本空间所有日志均为原创,如有转载请注明出处!!!!!!!
有需要讨论问题的可加QQ:28005389(上班时间一般都在隐身),邮箱hurh_888@sina.com
共同学习、共同进步
Loadrunner Port Mapping录制方法(一种通用的录制脚本的方法)
上一篇 /
下一篇 2008-08-21 16:24:49
/ 个人分类:loadrunner
以下观点仅是本人对loadrunner的理解所写,不一定正确,仅供大家参考!如果有不对的地方还请指出!51Testing软件测试网m\%ud8zP
我们在很多时候因为无法录制脚本而困惑,如loadrunner使用FTP协议录制Core FTP Lite时,只能看到loadrunenr捕获到事件,但无法生成脚本,又比如使用POP3或SMTP协议录制邮件收发时也是只能捕获到时间,但无法生成脚本,此时我介绍一种万能的录制方法可以解决这个问题。
8T~#?8qB?Y0d.u5~\0其实loadrunner录制的基本原理就是通过Port Mapping这个方法实现的,只不过我们在平时没有在意而已,那么先来介绍一下loadrunner典型的录制原理,再介绍一下loadrunner使用Port Mapping方式的录制原理。51Testing软件测试网.K.F]6d9X/|8x
通常情况下,我们在录制脚本的过程是:51Testing软件测试网7WM/BP%X6P4o
1、 选择协议51Testing软件测试网g^
m
HF"zR,b
2、 输入要录制的URL或指定要录制的应用程序的路径51Testing软件测试网RVmi+d.|DD
3、 选择录制脚本的位置,存放在哪个ACTION中51Testing软件测试网 ]Y/t5`+t"o6Es
4、 设置录制选项51Testing软件测试网p/l7Jyq)EA#n
5、 开始录制51Testing软件测试网0qPF;oX(MU
本文来自户瑞海的测试空间
C/@3UFX'c0此时loadrunner会自动监控你所指定的URL或应用程序所发出的请求及服务器返回的响应,它做为一个第三者监视着客户端与服务器端的所有对话,然后把这些对话记录下来,生成脚本,再次运行时模拟客户端发出的请求,捕获服务器端的响应。它在做监视时会自动捕捉客户端发出请示时所用的端口,并根据请求内容向服务器端的相应端口发送,而服务器回应时,根据请求消息中的端口向客户端某个端口发出回应,也就是说loadrunner监听的端口是由应用程序或请求所决定的。51Testing软件测试网~0nkG`m1p7W
好了,知道通常情况下loadrunner录制脚本的原理后,我们在说一下Port Mapping录制脚本的原理:
8tPJMm}h0 Port Mapping录制过程是:
$M(o9_
ddo
a%|W.P0 我们已使用POP3协议录制收邮件的过程来举例
n@T{-o9?G#e\Ay01、 选择协议,选择POP3协议
][:ag6J$i"r02、 在要录制的应用程序路径中输入“loadrunner安装路径\bin\wplus_init_wsock.exe”
"^2H9[:l8xE,c051Testing软件测试网EkqH'Go8BT3}%?
3、 设置录制选项,在NETWORK的Port Mapping中新建一个代理
X3U C!o[.N0
u'xr@+z#V\0根据下图新建一个代理:51Testing软件测试网f6Z_z{R#h rogi,I
51Testing软件测试网Jy0R,t}*x9A
在socket service设置中,要指明你客户端程序要连接的服务器地址、端口、协议、录制脚本的类型等选项,由于负责收邮件的服务器默认的端口是110,所以我们这里将PORT设置为110;
{9zho\,`*w!i"E0在TRAFFIC FORWARDING设置中,这个端口可以为任意端口,主要是为了让loadrunner启动的代理服务知道要把所有发往指定端口111的请求转发给指定服务器的110端口
%E&q$[!Z)yt7^m1f9|0本文来自户瑞海的测试空间
6HhqC/VJ9Nj"q0原理图如下:
\'R*H!m"G1Ue
b!O0q0L0Ut051Testing软件测试网5|bsX!d6K%U/d
4、 设置要录制的程序端口
N3@c%]*u~z;JP2V4el0将要录制的应用程序原本发往外网服务器的请求发送到本地的loadrunner启动的代理程序上,以便loadrunner进行监控
~C2o$ni'O+P z0
:x.a9ncA1N3e/l(W0设置发送到本地的111端口:
#z5P'eM{*S k'QO0
&k4~U%|@4jd05、 完成以上设置后,就可以开始录制脚本了51Testing软件测试网,F8`3\$^-Wax
在录制脚本时我们会看到loadrunner会启动一个代理程序
'ilCT]&hx0
[)t
D1pD5QY3d6M|f0 这个就代表我们设置的代理服务正常启动了。通过重新录制我们不仅看到了loadrunner捕获到了事件,而且正确生成了脚本。
(Okv)[]k8?Q
M0本文来自户瑞海的测试空间
-Mx(RY%T7X DB1[0好了,总结一下Port Mapping录制的录制原理:
6o|pT-q0首先将要录制的应用程序向服务器发送请求的服务器地址和端口改为本地计算机及111端口,在Port Mapping中设置的代理程序再将发往111端口的所有请求转发给真正的服务器端,相当于loadrunner强制性的将本地某端口的通讯录制了下来,通过这个代理更明确了需要监控的端口和协议。51Testing软件测试网:}9nYo(\H^
其实loadrunner通常使用的录制方式也是采用这样一个原理,只不过我们并不知道它具体监控的是哪个端口,而在Port Mapping录制方法中我们明确的指定了监听端口。可以说通常的录制方法是一种隐性的,而后一种录制方法是显性的。51Testing软件测试网.t B9m)P's_-m
可以通过此方法录制我们现有的所有协议的脚本,不会再出现只看到事件无法生成脚本的情况了!
3dF7i;mC+boXj)bl0其实这才是一种通用的录制方法!51Testing软件测试网W:p];K#[cJ.S
本文来自户瑞海的测试空间51Testing软件测试网Kq+h}
Cn:b\VuS
本人正在参加“最有价值技术BLOG"的评选,请为我投上你宝贵的一票,谢谢
cS tP(LK!Q.p0投票地址为http://bbs.51testing.com/thread-123522-1-1.html51Testing软件测试网H!]&Bp-N!C$A
请投给huruihai
o~3Zau+i]+mc0谢谢51Testing软件测试网a;w*A*~&~
51Testing软件测试网ld h:nMB!g4@R 51Testing软件测试网,s8M0H$TlG~$Xm 51Testing软件测试网)bbQVFg5gi
收藏
举报
TAG:
loadrunner