LoadRunner--HTML与URL录制方式区别
Recording录制选项
这里提供了两个大类的录制方式:
1. HTML-based script基于HTML的脚本
这种方式录制出来的脚本是基于HTML基础的,为每个用户操作生成单独的步骤,这种脚本更容易理解和维护,也更容易处理关联。对于正常的浏览器应用程序,推荐使用HTML录制模式。
一般来说如果我们是标准使用IE访问的B/S架构,我们应该使用HTML-BASE下的A script. containing explicit URLs only方式来录制脚本,这种脚本基于URL请求完成,不会带有任何前后依赖的内容。
选择HTML Advanced,出现两种script type
- A script describing user actions (web_link, web_submit_form)
脚本中的每一个函数直接对应着虚拟用户的一个动作,创建的函数主要有URL(Web_url)、link(Web_link)、image(Web_image)以及表单提交(Web_submit_form)等几类。
基于解释用户行为的脚本,注重描述用户做了什么操作类似于QTP,脚本简洁,基于用户操作模拟,浅显易懂,并且自身就包含了对象检查过程,无需校验
- A script containing explicit URLs only (web_url, web_submit_data)
将所有的URL、link、image都用Web_url函数来统一处理,在表单提交时则用Web_submit_data来处理。这样做的结果是脚本没有前一种方式那么直观,但如果网页中存在较多相似类型的链接时,这样做更容易处理脚本中的参数化和关联问题。
基于URL请求的脚本录制类型,这种方式不考虑用户的操作,只考虑客户端发送的请求,注重于实际上系统做了什么。
2. URL-based script基于URL的脚本
这种方式录制出来的脚本是基于URL请求的。如果我们是一个非IE标准的C/S架构,我们建议使用URL-BASE来录制脚本,这样我们可以确保不会遗漏任何HTTP请求。
这种是基于URL请求的脚本录制方式,我们会录制得到所有的http请求,导致脚本中包含了大量的web_url()函数Use web_custom_request only 自定义的http请求规则,更适合在自定义的http请求中进行二进制处理。采用这种方式生成脚本所有请求都生成web_custom_request () 函数。
对于web_link()、web_submit _form()等函数,需要前面页面的支持,也就是说必须先访问http://127.0.0.1:1080/WebTours/这个页面之后,才可以点击sign up now 按钮,如果不在http://127.0.0.1:1080/WebTours/这个页面,是无法点击sign up now 按钮的,包括web_submit _form()提交,也必须是在点击了sign up now 按钮之后的页面才可以提交。
而对于web_url(),web_submit _data()等函数则不需要要前面页面的支持,也就是说你可以直接访问http://127.0.0.1:1080/WebTours/login/p1 (相当于点击了sign up now ),而且还可以在当前页面进行提交。
两种录制模式的选择:
HTML-based优缺点:
(1)资源从内存中取出且在回放时下载。因此脚本更小且更容易阅读。
(2)由于只有较少的硬编码脚本,因此只有较少的动态值需要关联。
(3)可以插入图片检查之类的语句以检查结果是否正确。
(4)因为HTML模式回放时需要积极地解析返回的信息,因此它可能会比其他录制模式更加占用资源。
URL-based优缺点:
(1)适用于非browser的应用程序。
(2)录制来自sever的所有请求和资源,甚至抓取非HTML应用程序,因此需要做更多关联,脚本看起来也相当复杂。
综上,选择何种录制方式可以参考如下方案:
(1)如果应用是Web应用,首选是HTML-based录制模式;
(2)如果应用是使用HTTP协议的非Web应用,则首选URL-based录制模式;
(3)如果Web应用中使用了Java applet程序,且applet程序与服务器之间存在通信,则选用URL-based录制模式。
LoadRunner--HTML与URL录制方式区别的更多相关文章
- LR HTML与URL录制方式区别
Recording录制选项 这里提供了两个大类的录制方式: 1. HTML-based script基于HTML的脚本 这种方式录制出来的脚本是基于HTML基础的,为每个用户操作生成单独的步骤,这种脚 ...
- LoadRunner --HTML/URL录制方式的选择规则
- loadrunner之脚本篇——录制方式HTML-based和URL-based Script
A. HTML-based Script 针对 Web (HTTP/HTML)虚拟用户的缺省录制级别.它指示VuGen录制当前web页面上下文中的HTML action.录制会话期间并不录制所有资 ...
- LoadRunner基于HTML-based script和URL-based script方式录制的区别和各自的使用场景
一.区别: 为了更加直观的区别这两种录制方式,我们可以分别使用这两种方式录制同一场景(打开百度首页)然后进行对比,录制的代码如下: HTML-based script方式打开百度首页: Action( ...
- LoadRunner中两种录制模式的区别
决定我们成为什么样人的,不是我们的能力,而是我们的选择. ——<哈利-波特与密室> 一.先看看两种模式的设置和录制脚本的区别 设置HTML录制模式: 设置URL录制模式: HTML脚本: ...
- LR:HTML-based script和URL-based script方式录制的区别
转http://www.cnblogs.com/xiaojinniu425/p/6275257.html 一.区别: 为了更加直观的区别这两种录制方式,我们可以分别使用这两种方式录制同一场景(打开百度 ...
- html和url两种录制方式
在跟使用Loadrunner工具使用者交流的过程中,经常有人提到这个问题,基于HTML(HyperText Markup Language 超文本置标语言)模式录制 与基于URL(Uniform Re ...
- 【转】HTML-based script和URL-based script两种脚本录制方式
在Web(HTTP/HTML)录制中,有2种重要的录制模式.用户该选择那种录制模式呢?HTML-mode录制是缺省也是推荐的录制模式.它录制当前网页中的HTML动作.在录制会话过程中不会录制所有的资源 ...
- LR 两种html与url录制
一直在使用LR,对于Html_based script和Url-based script 两种录制方式之间,要如何选择,仍是一知半解.最近测试时遇到同样的业务功能,两种录制方式的脚本,单次执行时间差别 ...
随机推荐
- iOS项目开发实战——学会使用TableView列表控件(二)
要在iOS开发中使用TableView列表控件,不仅能够直接使用TableViewController作为整个主界面,并且还能够使用TableView控件来实现.使用TableView能够进行很多其它 ...
- Activity中recreate方法的应用
參考两篇文章:http://blog.csdn.net/watermusicyes/article/details/47392949 http://blog.csdn.net/droyon/a ...
- unity 获取物体尺寸
unity3d中获得物体的size 以size的x方向为例 1:gameObject.renderer.bounds.size.x;//这个值的结果真实反应出有MeshRenderer这个组件的 ...
- jQuery源码02--(3043 , 3183) Deferred : 延迟对象 : 对异步的统一管理
//延迟对象 jQuery.extend({ Deferred: function( func ) { var tuples = [//resolve完成.reject未完成.notify进行中类似于 ...
- js --- 递归结构图
// 用递归 来求 5 的阶乘 // n! = n * (n-1)! // 定义一个函数,用于求 n 的阶乘 function func(n) { ) { ; } // func(n-1) 因为传递的 ...
- dfs算法中求数列的组合
/* 从13个书中挑选5个值,他们的组合可能是 什么, 如下代码 dfs深度遍历, 和全排列是一种方法,但是思路不同 */ public class Main { static int count = ...
- js数组sort方法详解
在处理数组的时候,我们有时候需要对数组进行排序,排序的方法有很多种,但是最好最快的就是利用sort方法进行快速的排序. 我们来看一个例子: var arr1 = [6, 3, 4, 1, 2, 5, ...
- Strtus2学习
Struts 2 体系结构 : 1.Web浏览器请求一个资源. 2.过滤器Dispatcher查找方法,确定适当的Action. 3.拦截器自动对请求应用通用功能,如验证和文件上传操作. 4.Acti ...
- javafx style and cssFile
public class EffectTest extends Application { public static void main(String[] args) { launch(args); ...
- deep-in-es6(一)
一 迭代器和for-of循环 以前的一些遍历数组: function c(n) { console.log(n); } 方法一: for(let i = 0;i < arr.length;i++ ...