HP LoadRunner 9.0:Web(click and script) 与 Web(HTTP/HTML)协议

今天寒风刺骨,阳光明媚,新年的气氛越来越浓,临近年底,心情是大不同呀大不同。在美好的心情下,我开始了今天的体验之旅。

打开VuGen,新建一个脚本,选择最熟悉的Web协议,别急,这里怎么两个Web协议呢?

 

印象中7.5的版本好像没有Web(Click and scrīpt),那么这个新的协议和我原来熟悉的Web(HTTP/HTML)有什么不同呢?让我来一探究竟。

 

先从最简单的说明上来看,

Web(HTTP/HTML)      Emulation of   communication between a   browser and Web Server.

Web(Click and scrīpt)Emulation of the communication between a web browser and the web server at user-action level.

从字面上来看,Web(Click and scrīpt)就是多了”at user-action level”其他的没有什么不同嘛。呵呵,这可是很关键的几个字,让我有点明白二者之间的差别了。如果这就是本篇文章的结尾,相信各位看官一定会骂人,而且我自己也没法交代,所以当然我要更详细的深入,看看二者到底有啥区别,我的依据主要是软件的手册和我自己的理解。

 

Web(Click and scrīpt)

 

Web (Click and scrīpt)协议的录制是基于GUI的、用户实际操作界面过程的脚本,记录的是浏览器和服务器的WEB对话,你选择了该协议后,VuGen记录的是你在WEB界面上的操作的直观过程。例如,当你点击“提交”按钮提交信息时,VuGen会生成web_button函数,当你在编辑框中输入时,VuGen生成web_edit_field函数。

Web(Click and scrīpt)Vusers支持非HTML代码,比如客户端的JavascrīptVuGen会创建直观的脚本来精确的模拟你在web页面上的操作过程。相反,Web(HTTP/HTML)协议不支持JavascrīptVuGen只是把Javascrīpt作为web_url函数的一个资源。

Web(Click and scrīpt)Vusers能够自动处理大多数关联(correlations)的问题,大大减少脚本编程的时间。通常情况下,你不需要再去定义关联的规则或者在录制后手动再去做关联。

例如,当你点击按钮提交数据,VuGen会生成web_button函数。如果该按钮是图片,VuGen生成web_image_submit函数,例如下面的例子中,用户点击了login

web_image_submit("Login",

"Snapshot=t4.inf",

DEscrīptION,

"Alt=Login",

"Name=login",

"FrameName=navbar",

ACTION,

"ClickCoordinates=31,6",

LAST);}

 

相信使用过QTP(QuickTest Professional)的用户已经明白了,Web(Click and scrīpts)的录制和QTP的过程有点类似,是基于用户操作过程的录制。

另外需要注意的是,Web(Click and scrīpts)不支持AppletsVBscrīpt。如果被测的WEB站点包含了AppletsVBscrīpt,请使用Web(HTTP/HTML)协议。

 

 

Web (HTTP/HTML)

 

Web(HTTP/HTML)协议是基于浏览器请求响应数据的脚本。

当你选择Web(HTTP/HTML)协议录制时,VuGen记录的是在Internet上传送的“浏览器发出的HTTP请求和服务器的响应”的数据,脚本中包含了你的浏览器请求的数据详细信息,而不是操作过程的信息。

Web(HTTP/HTML)协议提供了两种录制方式,基于HTML的方式和基于URL的方式。这两种方式让你指定录制哪些信息和脚本使用哪些函数。例如,当你点击按钮(不管是图片,还是按钮)提交信息时,VuGen会生成web_submit_data或者web_submit_form函数。

web_submit_data("start.swe_2",

"Action=http://design/callcenter_enu/start.swe",

"Method=POST",

"RecContentType=text/html",

"Referer=http://design/callcenter_enu/start.swe",

"Snapshot=t2.inf",

"Mode=HTML",

ITEMDATA,

"Name=SWEUserName", "Value=wrun", ENDITEM,

"Name=SWEPassword", "Value=wrun", ENDITEM,

"Name=SWERememberUser", "Value=Yes", ENDITEM,

"Name=SWENeedContext", "Value=false", ENDITEM,

"Name=SWEFo", "Value=SWEEntryForm", ENDITEM,

"Name=SWETS", "Value={SiebelTimeStamp}", ENDITEM,

"Name=SWECmd", "Value=ExecuteLogin", ENDITEM,

"Name=SWEBID", "Value=-1", ENDITEM,

"Name=SWEC", "Value=0", ENDITEM,

LAST);

 

更详细的信息,可以参考手册或者我的《LoadRunner使用说明》。

 

不过Web(HTTP/HTML)协议不支持Javascrīpt,它只是把Javascrīpt当作web页面的一个资源。

对于大部分的应用,包括使用Javascrīpt的应用,使用Web(Click and scrīpt)协议;对于使用appletsvbscrīpt的基于浏览器的应用,或者非浏览器的web应用,使用Web(HTTP/HTML)协议。这两个协议是互斥的,在选择多协议的时候是不能同时选的。

 

 

以上是我今天的体会。如有不当之处,望指出。

posted @ 2013-04-11 09:58  布瓜  阅读(320)  评论(0编辑  收藏  举报