zoukankan      html  css  js  c++  java
  • LR 两种录制:html与url

    一直在使用LR,对于Html_based script和Url-based script 两种录制方式之间,要如何选择,仍是一知半解。最近测试时遇到同样的业务功能,两种录制方式的脚本,单次执行时间差别很大。html的20多秒,而URL的是3秒。疑问?

     

    Web(HTTP/HTML)协议

    录制的是HTTP交互和服务器响应。
    Web(HTTP/HTML)可以使用两种方式录制:HTML-based和URL-based。
    Web(HTTP/HTML)不直接支持JavaScript,而是把它作为页面资源存储。

     

    Web(Click and Script)协议

    对于大部分应用程序,包括那些包含JavaScript的程序,可以使用Web(Click and Script)虚拟用户。对于PeopleSoft Enterprise和Oracle Web Application 11i虚拟用户,也推荐使用这种录制方式,有兴趣可以尝试一下。

    对于那些使用applets和vbscript的浏览器应用 程序或非浏览器程序,推荐使用Web(HTTP/HTML)虚拟用户。

     

     Html_based script

      是lr的默认模式,也就是通常说的高层次模式,一般优先选择这种模式这种模式录制的脚本相对简短,便于阅读。它把类属一个页面的请求放在一个web_url中。为每个用户请求生成单独的函数。

      HTML-based 方式对每个页面录制形成一条语句,对LoadRunner来说,在该模式下,访问一个页面,首先会与服务器之间建立一个连接获取页面的内容,然后从页面中分解得到其他的元素(component),然后建立几个连接分别获取相应的元素。

     

    Url-based script

      即通常所说的低层次录制模式,这种模式录制的脚本相对长,不利于阅读,但脚本更直观,它把客户端向服务器端发送的每一个请求都放在一个单独的web_url中,即一个请求对应一个web_url,页面和图片分别生成对应的web_url,相对Html_based script模式把类属一个页面的请求放在一个web_url中的方式,Url-based script模式的脚本更直观。可以捕获所有作为用户操作的结果发送到服务器的HTTP请求,然后一一记录下来。可以捕获非HTML应用程序,例如小程序和非浏览器应用程序。

       URL-based 方式将每条客户端发出的请求录制成一条语句,对LoadRunner来说,在该模式下,一条语句只建立一个到服务器的连接,LoadRunner提供了web_concurrent_start和web_concurrent_end函数模拟的工作方式。

     

    如何从脚本辨别使用哪种模式录制?

      可以从脚本web_url中“mode”的值区分,Html_based script模式下mode的值为“html”,Url-based script模式下mode的值为“http”。从录制时可看出,web_submit_form、web_link一定是HTML模式,web_custom_request一定是URL模式。

    web_url,web_submit_data函数两种方式都可能,此时只能通过mode的值来判断。

    复制代码
    The Recording Level or Mode for Web scripts. The possible values are: 
    
    HTML level: Instructs VuGen to record HTML actions intuitively, in the context of the current Web page. The actions are recorded as URL steps (web_url), link steps (web_link), image steps (web_image), and form submission steps (web_submit_form). VuGen records only the HTTP requests that return HTML pages, but not scripts or applications. 
    
    HTTP level: Instructs VuGen to record all requests from the server as URL steps (web_url statements). It does not generate the web_link, web_image, or web_submit_form functions. This method is more scalable, but less intuitive when reading a generated script. 
    
    In older versions, the HTTP level is called NORESOURCE. 
    复制代码

     

    html录制可选择项:

    两种脚本类型:

    1、默认的项,选择描述用户行为的脚本。

    web_link是提供一个连接,提供了连接的名称和需要单击的超链接名称,点击就进去,如果链接地址不存在,会出错。模拟用户单击超链接的操作。如果出错了可以选择web_url方式。

    2、仅包含明确的URL脚本。

    web_url方式不考虑用户做了什么,只在于客户端发送了什么请求,只在于系统做了什么请求。web_url里边是需要访问的超链接地址。

     

    URL录制时可选择项:

     

    两种录制方式优点对比:

    )HTML 录制

    优点:减少了捕获动态值的需要。

    (1)资源从内存中取出且在回放时下载。因此,脚本比其他的录制方式更小且更容易阅读。

    (2)由于只有较少的硬编码脚本,因此只有较少的动态数值需要关联。

    (3)可以插入图片检查之类的语句以检查结果是否正确。

    (4)因为HTML模式回放时需要积极地解析返回的信息,因此它可能会比其他录制模式更加占用资源。然而,HTML模式record/replay有相当大的改善,使得差异最小化且微不足道。

    (5)HMTL录制级别会为每一个HTML用户动作产生一个单独的步骤。而且HTML方式产生的脚本非常简洁和直述,易于阅读。


    )URL 录制

    优点:脚本具有灵活性和可量测性。

    (1)脚本回放过程中,不再搜索内存和Cache。

    (2)脚本更具可扩展性。支持页面上的Java Applets和ActiveX对象。

    (3)URL录制级别把对服务器每个对象的请求,都录制成一个单独的请求。对业务过程有更好的控制。

     

     如何选择两种模式?

    1、基于浏览器的应用程序推荐使用HTML-Based Script。

    2、不是基于浏览器的应用程序推荐使用URL-Based Script。

    3、如果基于浏览器的应用程序中包含了Java Script,applet、vbscript脚本与等并且该脚本向服务器产生了请求,比如DataGrid的分页按钮等,也要使用URL-Based Script方式录制。

    4、基于浏览器的应用程序中使用了HTTPS安全协议,使用URL-Based Script方式录制。

    5、录制过程中不要使用浏览器的“后退”功能,LoadRunner对其支持不太好。

     

    脚本录制过程中,可以根据需要在HTML级别和URL级别之间灵活地切换,以获得最佳的效果。

  • 相关阅读:
    现实世界的Windows Azure:采访圣地亚哥公共安全小组的技术经理Adrian Gonzalez
    Casablanca发布:一个用C++访问云的本地类库
    现实世界的Windows Azure:采访IDV解决方案的副总经理Scott Caulk
    Rock Paper Azure Challenge春季比赛来了!
    上海职场六大关键词完全搜集之:才市
    理解 Delphi 的类(十一) 深入类中的方法[8] 抽象方法与抽象类
    理解 Delphi 的类(十一) 深入类中的方法[10] 构造方法与析构方法
    TScreen 类 获取字体列表
    理解 Delphi 的类(十一) 深入类中的方法[9] 不能被覆盖的方法与不能被继承的类
    理解 Delphi 的类(十一) 深入类中的方法[13] 方法的调用约定
  • 原文地址:https://www.cnblogs.com/igubai/p/7426167.html
Copyright © 2011-2022 走看看