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方式录制。

转:HTML与URL两种录制模式分析的更多相关文章

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

    Loadrunner的Virtual User Generator 提供人脚本的录制功能,对于初学者来说,这大大的降低了编写脚本的门槛,loadrunner提供两种录制脚本的方式:Html_based ...

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

    Loadrunner的Virtual User Generator 提供人脚本的录制功能,对于初学者来说,这大大的降低了编写脚本的门槛,loadrunner提供两种录制脚本的方式:Html_based ...

  3. [网络转载 ]LoadRunner技巧之THML与URL两种录制模式分析

    loadrunner自带网站的访问 Html_based script模式 Action() { web_url("WebTours", "URL=http://127. ...

  4. HTML与URL两种录制模式分析(转)

    如何选择两种模式? 1.基于浏览器的应用程序推荐使用HTML-Based Script. 2.不是基于浏览器的应用程序推荐使用URL-Based Script. 3.如果基于浏览器的应用程序中包含了J ...

  5. html和url两种录制方式

    在跟使用Loadrunner工具使用者交流的过程中,经常有人提到这个问题,基于HTML(HyperText Markup Language 超文本置标语言)模式录制 与基于URL(Uniform Re ...

  6. LoadRunner中两种录制模式的区别

    决定我们成为什么样人的,不是我们的能力,而是我们的选择. ——<哈利-波特与密室> 一.先看看两种模式的设置和录制脚本的区别 设置HTML录制模式: 设置URL录制模式: HTML脚本: ...

  7. LR 两种录制:html与url

    一直在使用LR,对于Html_based script和Url-based script 两种录制方式之间,要如何选择,仍是一知半解.最近测试时遇到同样的业务功能,两种录制方式的脚本,单次执行时间差别 ...

  8. LR两种录制模式的区别

    loadrunner的录制模式分为如下两种录制模式: HTML-based script,也称为高层录制: URL-based script,也称为底层录制. 两种录制模式的区别:1)脚本不同:高层录 ...

  9. jmeter两种录制方式

    jmeter两种录制方式 一.Badboy Badboy是一款不错web自动化测试工具,利用它来录制脚本,并且录制的脚本可以直接保存为JMeter文件来使用. Badboy  version 2.1. ...

随机推荐

  1. JAVA序列化与反序列化三种格式存取(默认格式、XML格式、JSON格式)

    什么是序列化 java中的序列化(serialization)机制能够将一个实例对象的状态信息写入到一个字节流中,使其可以通过socket进行传输.或者持久化存储到数据库或文件系统中:然后在需要的时候 ...

  2. 第十节,While循环和for循环

    While循环 While循环,是一个循环加判断的组合,满足判断条件返回 真(True)开始循环代码块,不满足判断条件返回 假()不循环 格式: While 条件: 代码块 注意:在While循环里如 ...

  3. nodejs package.json详细解读

    package.json详细内容 它是这样一个json文件(注意:json文件内是不能写注释的,复制下列内容请删除注释): JavaScript { "name": "t ...

  4. kafka和flume的对比

    摘要: (1)kafka和flume都是日志系统.kafka是分布式消息中间件,自带存储,提供push和pull存取数据功能.flume分为agent(数据采集器),collector(数据简单处理和 ...

  5. 第一个WebAPI项目

    (1)新建一个ASP.NET MVC项目,取名为:MyMvcWebAPIDemo,项目类型选择WebAPI. (2)在Models中新增一个类,取名为:Product,作为我们要测试的实体模型.   ...

  6. jsoup抓取数据

    jsoup的主要功能如下: 1. 从一个URL,文件或字符串中解析HTML: 2. 使用DOM或CSS选择器来查找.取出数据: 3. 可操作HTML元素.属性.文本: 接下来介绍jsoup 是如何优雅 ...

  7. VideoTexture 贴图

    //old bitmapData.lock(); bitmapData.fillRect(_clippingRect, 0); bitmapData.draw(_player.container, n ...

  8. Idea 设置根目录

    1.在根目录下新建一个目录yx360-war-ctm-tea,在该目录下新建一个build.gradle文件,输入: apply plugin: 'war' 来引入war插件,war插件会在项目的目录 ...

  9. Mysql5.7 安装

    1 安装yum源 yum localinstall http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm2 参看源 vi ...

  10. php获取当前文件绝对路径

    php如何获取当前文件的绝对路径. dirname(__FILE__) 函数返回的是脚本所在在的路径 <?php $basedir = dirname(__FILE__); echo $base ...