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
转载于:https://www.cnblogs.com/zhangyublogs/p/4955414.html
LoadRunner 技巧之THML 与 URL两种录制模式分析相关推荐
- html和url两种录制方式
在跟使用Loadrunner工具使用者交流的过程中,经常有人提到这个问题,基于HTML(HyperText Markup Language 超文本置标语言)模式录制 与基于URL(Uniform Re ...
- HTML5实用小技巧分享(三)——两种添加背景图片的方式
前面两节介绍过文字和段落的使用,这节就大致介绍一下背景图片如何添加 首先,我们创建一个HTML文档,然后我们换个背景 一.不会随着滚轮移动的背景 <!DOCTYPE html> <h ...
- LR中url和html两种录制模式
http://www.cnblogs.com/fnng/archive/2013/02/28/2937805.html 转载于:https://www.cnblogs.com/zzzao/p/9196 ...
- 电脑使用技巧提升篇7:两种方法给U盘加密
一.使用USBSecurity软件给U盘加密 1. 下载USBSecurity软件:U盘加密软件0000.zip_u盘加密-其它文档类资源-CSDN下载 2. 插入需要加密的U盘 3. 双击US ...
- ABAQUS后处理技巧:内力查看的两种方式
有些时候,不止是想知道部件的应力分布状况,也想知道部件某个截面的内力状况怎么办?除了外力接触力,也想知道Tie约束的面之间的作用力怎么办? 有点困惑了,不知道结果在哪了?通常我们会想到用节点力的输出来 ...
- Java开发自学技巧!链表反转的两种实现方法,太香了
导语 回首向来萧瑟处,归去,也无风雨也无晴. 我一哥们也是做Java开发,暂且先叫他峰哥吧,到今年已经入行6年了,每天还是写一些业务代码,至今还是个单身狗,愁的头发真的都快谢顶了. 虽然峰哥每天做着C ...
- spark基础之基于yarn两种提交模式分析
一 介绍 基于YARN的提交模式,总共有2种:一种是基于YARN的yarn-cluster模式:一种是基于YARN的yarn-client模式. 需要将提交应用程序的spark-submit的脚本中加 ...
- Jmeter脚本两种录制方式
脚本录制的流程 通过Badboy来录制脚本 1.打开badboy ,点击红色按钮,在地址栏输入被测项目地址. 录制完后,点击旁边的黑色按钮结束录制. 2.选择文件,Export to Jmeter 保 ...
- win7如何调整计算机c盘,两种解决win7c盘越来越小的技巧
不少用户应该都会发现,随着我们使用电脑的时间越来越久,就会发现C盘变的越来越小,然后就会导致电脑的运行速度变缓慢,那是因为缓存文件随着时间越久它就会占据C盘越来越大的空间,所以就会导致C盘空间越来越小 ...
最新文章
- iptables防火墙的连接状态
- red hat 5 和 oracle
- 高新园区到大连计算机学校,大连高新区中心小学
- 常用命令_GIT常用命令大全
- Qt图形界面编程入门(2)
- grep匹配上下几行的方法
- 毫米波雷达障碍物检测算法介绍
- 投资理财web后端系统_银行理财产品有风险吗?最大风险是什么?
- 关于Axure RP
- SpaceX 火箭发射成功,一文了解所用的软件技术栈!
- github桌面版_GitHub 上周 JavaScript 趋势榜项目
- 小技巧处理div内容溢出
- 10年老电脑如何提速_2020年10月和双十一轻薄本/轻薄型笔记本电脑如何挑选?内含轻薄本/轻薄型笔记本电脑推荐!...
- Google Chrome Native Messaging开发实录(二)Chrome Extension扩展
- 手机坏点如何测试软件,怎么检测手机屏幕坏点
- 公众平台模板消息所在行业_微信公众号模板消息群发常见问题汇总
- 卡方检验,U检验,t检验,F检验
- 独立开发仿造一个开关机器人
- NOIP训练 czy的后宫5(树形dp)
- Numpy中数据的常用的保存与读取方法
热门文章
- vs2013 matlab 教程,Matlab 2016a和VS2013混合Dll编程步骤总结
- python 按从小到大的顺序组合成一个字典_将Python字典排列组合成字典列表
- lodop指定打印机打印_GitHub - xtjatswc/formext: 基于Lodop封装的打印框架,支持表单、报表配置。...
- c语言六角填数答案,【蓝桥杯】第五届-6-六角填数
- springboot 跨域_SpringBoot跨域加SpringSecurity就失效
- 表达式求值负数乘负数_为什么现在很多期权的时间价值都为负数?
- python怎样打开加密的文件_如何用Python 加密文件
- STM32跑分?看看你的能跑多少分!
- 【视频】如何正确焊接贴片、直插元件?
- java传值的代码_SpringMVC的简单传值(实现代码)