LoadRunner 技巧之THML 与 URL两种录制模式分析

  Loadrunner的Virtual User Generator 提供人脚本的录制功能,对于初学者来说,这大大的降低了编写脚本的门槛,loadrunner提供两种录制脚本的方式:Html_based script和Url-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 script是loadrunner的缺省模式,即默认模式,也就是通常说的高层次模式,一般优先选择这种模式这种模式录制的脚本相对简短,便于阅读。它把类属一个页面的请求放在一个web_url中。

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

 

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

  我们可以从脚本web_url中“mode”的值区分,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级别之间灵活地切换,以获得最佳的效果。 

http://www.cnblogs.com/fnng/archive/2013/02/28/2937805.html

 

时间: 2024-08-04 02:28:55

LoadRunner 技巧之THML 与 URL两种录制模式分析的相关文章

LoadRunner使用技巧:THML 与 URL两种录制模式分析

Loadrunner的Virtual User Generator 提供人脚本的录制功能,对于初学者来说,这大大的降低了编写脚本的门槛,loadrunner提供两种录制脚本的方式:Html_based script和Url-based script ,初学者疑惑这两种方式有什么不同? 在这里我们来做个简单分析. 下面我们来分别通过两种方式来录制百度首页,对比一下他们之间有什么不同. HTML方式的脚本: Action() { web_url("www.baidu.com", "

LoadRunner中HTML模式与URL模式的区别

在Web(HTTP/HTML)录制中,有2种重要的录制模式. 用户该选择那种录制模式呢? 一)HTML-mode录制是缺省也是推荐的录制模式.它录制当前网页中的HTML动作. 在录制会话过程中不会录制所有的资源.在回放时,HTML-mode脚本积极地解析返回的信息来获得要下载的资源. HTML-mode是亦称上下文敏感方式因为它只能在先前请求的结果的上下文之内执行.由于许多的HTTP 请求数据都是从内存中取出来的,所以语句必须在正确的前个请求之后执行. HTML-mode录制的优点是: 1.资源

LoadRunner基于HTML-based script和URL-based script方式录制的区别和各自的使用场景

一.区别: 为了更加直观的区别这两种录制方式,我们可以分别使用这两种方式录制同一场景(打开百度首页)然后进行对比,录制的代码如下: HTML-based script方式打开百度首页: Action() { web_url("www.baidu.com", "URL=http://www.baidu.com/", "Resource=0", "RecContentType=text/html", "Referer=&

JavaScript重定向URL参数的两种方法小结_javascript技巧

这篇文章主要介绍的是JavaScript重定向URL参数的两种方法,下面话不多说,直接看示例代码. 一.字符拼接形式 function setUri(para, val) { var strNewUrl = new String(); var strUrl = new String(); var url = window.location.href; strUrl = window.location.href; if (strUrl.indexOf("?") != -1) { strU

js的form表单提交url传参数(包含+等特殊字符)的两种解决方法_javascript技巧

方法一:(伪装form表单提交) linkredwin = function(A,B,C,D,E,F,G){ var formredwin = document.createElement("form"); formredwin.method = 'POST'; document.body.appendChild(formredwin); formredwin.action = "http://www.A.com/A.wiki?A=" +encodeURI(A) +

jquery获取URL中参数解决中文乱码问题的两种方法_javascript技巧

从A页面通过url传参到B页面时,解析url参数可以用下面两种方法: 方法一:正则分析法 复制代码 代码如下: function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != nu

使用JavaScript获取URL中的参数(两种方法)_javascript技巧

本文给大家分享两种方法使用js获取url中的参数,其中方法二是使用的正则表达式方法,大家可以根据需要选择比较好的方法,废话不多说了,直接看详细介绍吧. 方法一: //取url参数 var type = request("type") function request() { var query = location.search; var paras = arguments[0]; if (arguments.length == 2) { query = arguments[1]; }

SQL Server中单引号的两种处理技巧

server|技巧 和数据库打交道要频繁地用到SQL语句,除非你是全部用控件绑定的方式,但采用控件绑定的方式存在着灵活性差.效率低.功能弱等等缺点.因此,大多数的程序员极少或较少用这种绑定的方式.而采用非绑定方式时许多程序员大都忽略了对单引号的特殊处理,一旦SQL语句的查询条件的变量有单引号出现,数据库引擎就会报错指出SQL语法不对,本人发现有两种方法可以解决和处理这种单引号的问题(以VB为例子). ---- 方法一:利用转义字符处理SQL语句.下面的函数可以在执行SQL语句前调用,执行处理后的

实用技巧:PHP中调用Java类的两种方法

Java语言功能强大,因此在许多情况下在php中来调用Java的功能将十分有用.在php中调用Java语言有两种方法,一种是使用php中的Java扩展模块,另一种是使用minij2ee应用服务器提供的SJOP协议实现.下面我们来比较一下这两种方法各自的特点. 1.php的Java模块 php发布版中包含一个Java扩展模块,可以用来调用Java对象,例如: <?php$system=new Java("java.lang.System");print "Java ver