zoukankan      html  css  js  c++  java
  • 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)协议。这两个协议是互斥的,在选择多协议的时候是不能同时选的。

     

     

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

  • 相关阅读:
    负载均衡
    nginx 负载均衡
    linux crontab 定时任务
    linux各种查看端口号
    MYSQL集群
    linux ntp时间同步
    【推荐】开源项目ElasticAmbari助力 ElasticSearch、Kibana、ambari服务高效运维管理
    Flutter开发指南之理论篇:Dart语法05(单线程模型,事件循环模型,Isolate)
    对于 评论 发送,出现网络延迟、响应慢,用户多次点击发送按钮,怎么解决只生成一次数据存入DB
    第三方授权登录
  • 原文地址:https://www.cnblogs.com/bugua/p/3013729.html
Copyright © 2011-2022 走看看