zoukankan      html  css  js  c++  java
  • LoadRunner 技巧之HTML 与 URL两种录制模式分析

     

      LoadrunnerVirtual User Generator 提供人脚本的录制功能,对于初学者来说,这大大的降低了编写脚本的门槛,loadrunner提供两种录制脚本的方式:Html_based scriptUrl-based script ,初学者疑惑这两种方式有什么不同? 在这里我们来做个简单分析。

     

    下面我们来分别通过两种方式来录制百度首页,对比一下他们之间有什么不同。

    HTML方式的脚本:

    Action()
    {
    
        web_url("www.baidu.com", 
            "URL=http://www.baidu.com/", 
            "Resource=0", 
            "RecContentType=text/html", 
            "Referer=", 
            "Snapshot=t3.inf", 
            "Mode=HTML", 
            EXTRARES, 
            "Url=http://s1.bdstatic.com/r/www/img/i-1.0.0.png", ENDITEM, 
            "Url=http://s1.bdstatic.com/r/www/img/bg-1.0.0.gif", ENDITEM, 
            "Url=/favicon.ico", "Referer=", ENDITEM, 
            "Url=http://suggestion.baidu.com/su?wd=&cb=window.bdsug.sugPreRequest&sid=1440_2031_1945_1788&t=1362056239875", ENDITEM, 
            "Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056247256", ENDITEM, 
            "Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88%20&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056247969", ENDITEM, 
            "Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88%20%E5%8D%9A%E5%AE%A2%E5%9B%AD&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056251016", ENDITEM, 
            LAST);
    
        return 0;
    }

     

    URL方式的脚本:

    Action()
    {
    
        web_url("www.baidu.com", 
            "URL=http://www.baidu.com/", 
            "Resource=0", 
            "RecContentType=text/html", 
            "Referer=", 
            "Snapshot=t67.inf", 
            "Mode=HTTP", 
            LAST);
    
        web_concurrent_start(NULL);
    
        web_url("shouye_b5486898c692066bd2cbaeda86d74448.gif", 
            "URL=http://www.baidu.com/img/shouye_b5486898c692066bd2cbaeda86d74448.gif", 
            "Resource=1", 
            "RecContentType=image/gif", 
            "Referer=http://www.baidu.com/", 
            "Snapshot=t68.inf", 
            LAST);
    
        web_url("gs.gif", 
            "URL=http://www.baidu.com/cache/global/img/gs.gif", 
            "Resource=1", 
            "RecContentType=image/gif", 
            "Referer=http://www.baidu.com/", 
            "Snapshot=t69.inf", 
            LAST);
    
        web_url("tangram-1.3.4c1.0.js", 
            "URL=http://s1.bdstatic.com/r/www/cache/global/js/tangram-1.3.4c1.0.js", 
            "Resource=1", 
            "RecContentType=application/javascript", 
            "Referer=http://www.baidu.com/", 
            "Snapshot=t71.inf", 
            LAST);
    
        web_url("home-2.5.js", 
            "URL=http://s1.bdstatic.com/r/www/cache/global/js/home-2.5.js", 
            "Resource=1", 
            "RecContentType=application/javascript", 
            "Referer=http://www.baidu.com/", 
            "Snapshot=t72.inf", 
            LAST);
    
        web_url("u-1.3.4.js", 
            "URL=http://s1.bdstatic.com/r/www/cache/user/js/u-1.3.4.js", 
            "Resource=1", 
            "RecContentType=application/javascript", 
            "Referer=http://www.baidu.com/", 
            "Snapshot=t73.inf", 
            LAST);
    
        web_concurrent_end(NULL);
    
        web_url("i-1.0.0.png", 
            "URL=http://s1.bdstatic.com/r/www/img/i-1.0.0.png", 
            "Resource=1", 
            "RecContentType=image/png", 
            "Referer=http://www.baidu.com/", 
            "Snapshot=t70.inf", 
            LAST);
    
        web_concurrent_start(NULL);
    
        web_url("su", 
            "URL=http://suggestion.baidu.com/su?wd=&cb=window.bdsug.sugPreRequest&sid=1431_2031_1944_1788&t=1362056977341", 
            "Resource=1", 
            "RecContentType=baiduapp/json", 
            "Referer=http://www.baidu.com/", 
            "Snapshot=t74.inf", 
            LAST);
    
        web_url("favicon.ico", 
            "URL=http://www.baidu.com/favicon.ico", 
            "Resource=1", 
            "RecContentType=image/x-icon", 
            "Referer=", 
            "Snapshot=t75.inf", 
            LAST);
    
        web_concurrent_end(NULL);
    
        return 0;
    }

     

          Html_based scriptloadrunner的缺省模式,即默认模式,也就是通常说的高层次模式,一般优先选择这种模式这种模式录制的脚本相对简短,便于阅读。它把类属一个页面的请求放在一个web_url中。

      Url-based script即通常所说的低层次录制模式,这种模式录制的脚本相对长,不利于阅读,但脚本更直观,它把客户端向服务器端发送的每一个请求都放在一个单独的web_url中,即一个请求对应一个web_url,页面和图片分别生成对应的web_url,相对Html_based script模式把类属一个页面的请求放在一个web_url中的方式,Url-based script模式的脚本更直观。

     

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

      我们可以从脚本web_urlmode的值区分,Html_based script模式下mode的值为html,Url-based script模式下mode的值为http。还有Html_based script模式记录为web_submit_form,而Url-based script模式记录为web_submit_data

             

    两种录制方式优点对比:

    )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等并且该脚本向服务器产生了请求,比如DataGrid的分页按钮等,也要使用URL-Based Script方式录制。

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

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

     

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

     

  • 相关阅读:
    PAT顶级 1024 Currency Exchange Centers (35分)(最小生成树)
    Codeforces 1282B2 K for the Price of One (Hard Version)
    1023 Have Fun with Numbers (20)
    1005 Spell It Right (20)
    1092 To Buy or Not to Buy (20)
    1118 Birds in Forest (25)
    1130 Infix Expression (25)
    1085 Perfect Sequence (25)
    1109 Group Photo (25)
    1073 Scientific Notation (20)
  • 原文地址:https://www.cnblogs.com/fnng/p/2937805.html
Copyright © 2011-2022 走看看