【转】HTML-based script和URL-based script两种脚本录制方式
在Web(HTTP/HTML)录制中,有2种重要的录制模式。用户该选择那种录制模式呢?
HTML-mode录制是缺省也是推荐的录制模式。它录制当前网页中的HTML动作。
在录制会话过程中不会录制所有的资源。在回放时,HTML-mode脚本积极地解析返回的信息来获得要下载的资源。
HTML-mode是亦称上下文敏感方式因为它只能在先前请求的结果的上下文之内执行。由于许多的HTTP 请求数据都是从内存中取出来的,所以语句必须在正确的前个请求之后执行。
HTML-mode录制的优点是:
1.资源从内存中取出且在回放时下载。因此,脚本比其他的录制方式更小且更容易阅读。
2.由于只有较少的硬编码脚本,因此只有较少的动态数值需要关联。
3.可以插入图片检查之类的语句以检查结果是否正确。
4.因为HTML模式回放时需要积极地解析返回的信息,因此它可能会比其他录制模式更加占用资源。然而,HTML模式record/replay有相当大的改善,使得差异最小化且微不足道。 URL-mode选项指导VuGen录制来自server的所有的请求和资源。它自动录制每一个HTTP资源为URL的步骤。这种录制模式甚至抓取非HTML应用程序,例如applets和非浏览器的应用程序。推荐使用这种录制方式录制以下情况:
1。录制非browser的应用程序
2。取得在下载或不下载哪些资源上更好的控制,既然你可以在脚本中修改。
3。当使用LR6.x时,录制使用applet和/或javascript的浏览器应用程序
由于URL-模式录制了所有的请求和资源,需要做更多的关联。脚本看起来也会相当的长。
------------------------------------- 我发现用这两种模式录制Mercury的网页(http://www.mercury.com/),结果却有很大差别,HTML-based的response time是7.4秒左右,而URL-based的却达到22秒左右。根据MI上面的解释,估计是由于HTML-based模式的资源占用,从内存中读数据引起的。
URL-based 方式和 HTML-based方式的差别 在使用LoadRunner进行WEB脚本录制的时候,很多人不清楚URL-based 方式和 HTML-based方式的差别,以及何种情况下使用何种录制方式,这里给出一个简单的判断方法。
HTML-based 方式
HTML-based 方式对每个页面录制形成一条语句,对LoadRunner来说,在该模式下,访问一个页面,首先会与服务器之间建立一个连接获取页面的内容,然后从页面中分解得到其他的元素(component),然后建立几个连接分别获取相应的元素。
URL-based 方式
URL-based 方式将每条客户端发出的请求录制成一条语句,对LoadRunner来说,在该模式下,一条语句只建立一个到服务器的连接,LoadRunner提供了web_concurrent_start和web_concurrent_end函数模拟HTML-based的工作方式。
如何决定选择何种录制方式?
1、如果应用是WEB应用,首选是HTML-based方式;
2、如果应用是使用HTTP协议的非WEB应用,首选是URL-based方式;
3、如果WEB应用中使用了java applet程序,且applet程序与服务器之间存在通讯,选用URL-based方式;
4、如果WEB应用中使用的javascript、vbscript脚本与服务器之间存在通讯(调用了服务端组件),选用URL-based方式。
【转】HTML-based script和URL-based script两种脚本录制方式的更多相关文章
- js获取url参数值的两种方式
js获取url参数值的方法有很多,下面也为大家介绍两种. 方法一:正则分析法 function getQueryString(name) { var reg = new RegExp(" ...
- spring security实现动态配置url权限的两种方法
缘起 标准的RABC, 权限需要支持动态配置,spring security默认是在代码里约定好权限,真实的业务场景通常需要可以支持动态配置角色访问权限,即在运行时去配置url对应的访问角色. 基于s ...
- js获取url参数的两种方法
js获取参数,在以前我都是用正在去拆分,然后获取,这种方式感觉是最简单的 方式1: function QueryString(item) { var sValue=location.search.ma ...
- java使用url和tns两种方式连接数据库执行存储过程
1.url方式(连接数据库并执行一个查询): public static void main(String[] args) throws ClassNotFoundException, SQLExce ...
- 31-字符串转为 url 格式的两种不同情况
将此字符串转为 url 格式的: # 如果是转化对象用:data=urllib.parse.urlencode(values) # 如果是转化字符串:s=urllib.parse.quote(s)
- javascript 获取当前 URL 参数的两种方法
window.location.host; //返回url 的主机部分,例如:www.xxx.com window.location.hostname; //返回www.xxx.com window. ...
- LR中,URL -based script与HTML -based script区别
在Web(HTTP/HTML)录制中,有2种重要的录制模式.用户该选择那种录制模式呢?HTML-mode录制是缺省也是推荐的录制模式.它录制当前网页中的HTML动作.在录制会话过程中不会录制所有的资源 ...
- 转 LoadRunner 技巧之THML 与 URL两种录制模式分析
Loadrunner的Virtual User Generator 提供人脚本的录制功能,对于初学者来说,这大大的降低了编写脚本的门槛,loadrunner提供两种录制脚本的方式:Html_based ...
- LR HTML与URL录制方式区别
Recording录制选项 这里提供了两个大类的录制方式: 1. HTML-based script基于HTML的脚本 这种方式录制出来的脚本是基于HTML基础的,为每个用户操作生成单独的步骤,这种脚 ...
随机推荐
- 自定义session扫描器
为何要自定义session扫描器 由于服务器来管理session的销毁不怎么靠谱,因此很多网站都会自己定义一个session扫描器来管理session的创建和销毁. 实现思路 首先,创建一个sessi ...
- Kotlin的扩展函数:扩展Android框架(KAD 08)
作者:Antonio Leiva 时间:Jan 11, 2017 原文链接:https://antonioleiva.com/extension-functions-kotlin/ 扩展函数是Kotl ...
- angularjs过滤器(一)------禁止转载------
如果用代码实现:将new Date()转换为 M/D/YY 00:00 格式. 启用过滤器有两种方式:①在HTML中用"|"启用过滤器.格式为{{$scope.property | ...
- 快速理解Parquet的DL和RL
关于Parquet的详细介绍,请参考: 新一代列式存储格式Parquet,此文中对Parquet做了详细的介绍,这里不做重复介绍,但其中关于Definition Level(DL)和Repeated ...
- Map - leetcode [哈希表]
149. Max Points on a Line unordered_map<float, int> hash 记录的是斜率对应的点数 unordered_map<float, i ...
- 引用Excel.dll 时找不到类型怎么办
将引用(Microsoft.Office.Interop.Excel)的属性"嵌入互操作类型"由True修改为False即可
- c#的as关键字
类型a as 类型b ,把类型a强制变为类型b
- 获取Java的32位MD5实现
获取Java的32位MD5实现 public static String md5(String s) { char hexDigits[] = {'0','1','2','3','4','5','6' ...
- CodeForces 687C The Values You Can Make
$dp$,背包. $f[i][j][s]$表示前$i$个物品,凑出$j$价格的情况下,能否凑出$s$价格,$f[i][j][s]=1$表示能,否则不能. 转移很简单:如果$f[i][j][s]=1$, ...
- python向服务器发送邮件事例
import osimport sysimport re __author__ = 'xiaoming' import requestststr = '<div>\n<ul>\ ...