深刻剖析VuGen脚本录制原理
扩展:深刻剖析VuGen脚本录制原理
LR中的VuGen组件,主要扮演一个proxy server的角色,在录制脚本时,记录下用户和服务器交互,然后自动生成脚本语言。在接下来的重放,或者大批量地加压时,模拟真实的front end user向网站发送请求,并根据服务器返回的结果,作为判断是否正确执行用户操作的依据。 难道今天能静下心来,对recording log进行了一番分析,为方便以后进行更进一步的发掘,特在此草草地作个记号,以后有机会再回头进行更新与追踪。 此部分是后续进行Web component breakdown性能分析的理论基础。
扩展:深刻剖析VuGen脚本录制原理
对上述截图的三处注释 注1:此处是用户发出唯一一条明确的请求,也可以理解为点击,只是此点击会引发后台很多见不到的点击(hits)
注2: 向服务提交一个请求,主要是借助welcome.pl对当前用户当前所处的状态进行判断,并返回不同的页面。2.1 输入:signOff = True 未登陆用户;返回:登陆界面导航栏+欢迎页面(welcome to sign up);2.2 输入:signOff = False 用户已登陆; 返回:Flight/Itinerary/Home/Log off四个导航按钮 + 欢迎页面 (welcome username);2.3 输入:signOff = False 用户已登陆 + Flight/Itinerary/Home/Log off某一子页面; 返回: Flight/Itinerary/Home/Log off对应的页面
注3:导航栏的判断,是对welcome.pl延续,在前面的基础上进行更具体的判断 此index.html由三个主要的framesets组成 header.html: 作为一个subframeset引入,主要内容为下面的二个images,hp_logo.png和webtours.png;
nav.pl?in=home: 即Navigate menu。由nav.pl脚本中定义的函数进行控制,用户未登陆之前显示username, password, login; 登陆之后则显示订票选项,包括Flight/Itinerary/Home/Log off四个导航按钮;
home.html: 具体的文字描述(包含admin.html的链接)。 WebTour的网站文件存放路径 网站图片:C:\Program Files\HP\LoadRunner\WebTours\MercuryWebTours\images
网站HTML页面(如上面所提到的index.html, header.html,home.html):C:\Program Files\HP\LoadRunner\WebTours\MercuryWebTours 几个主要的perl文件 welcome.pl - # The welcome page. It handles the bottom frame. Generally, it splits the bottom frame into two more frames - the left (navigation) and right (info)frames.It also is used to reset the cookies on the client side when the user logs out.
nav.pl - # Handle the navigation bar... Basically, only two different modes - login and menus.
login.pl - # Handle the user registration, account autherication etc
admin.pl - # The Server Administration pages Replay log
-----------------------
Web Turbo Replay of LoadRunner 9.10.0 for WIN2003; WebReplay85 build 5896 [MsgId: MMSG-27143]
Run Mode: HTML [MsgId: MMSG-26000]
Run-Time Settings file: "C:\Program Files\HP\LoadRunner\scripts\WebFlight\order_10num\\default.cfg" [MsgId: MMSG-27141]
vuser_init.c(12): Registering web_reg_find was successful [MsgId: MMSG-26390]
vuser_init.c(15): Detected non-resource "http://127.0.0.1:1080/WebTours/header.html" in "http://127.0.0.1:1080/WebTours/" [MsgId: MMSG-26574]
vuser_init.c(15): Detected non-resource "http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true" in "http://127.0.0.1:1080/WebTours/" [MsgId: MMSG-26574]
vuser_init.c(15): Found resource "http://127.0.0.1:1080/WebTours/images/hp_logo.png" in HTML "http://127.0.0.1:1080/WebTours/header.html" [MsgId: MMSG-26659]
vuser_init.c(15): Found resource "http://127.0.0.1:1080/WebTours/images/webtours.png" in HTML "http://127.0.0.1:1080/WebTours/header.html" [MsgId: MMSG-26659]
vuser_init.c(15): Detected non-resource "http://127.0.0.1:1080/WebTours/nav.pl?in=home" in "http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true" [MsgId: MMSG-26574]
vuser_init.c(15): Detected non-resource "http://127.0.0.1:1080/WebTours/home.html" in "http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true" [MsgId: MMSG-26574]
vuser_init.c(15): Found resource "http://127.0.0.1:1080/WebTours/images/mer_login.gif" in HTML "http://127.0.0.1:1080/WebTours/nav.pl?in=home" [MsgId: MMSG-26659]
vuser_init.c(15): Registered web_reg_find successful for "Text=Web Tours" (count=6) [MsgId: MMSG-26364]
vuser_init.c(15): web_url("WebTours") was successful, 6453 body bytes, 1562 header bytes [MsgId: MMSG-26386]
vuser_init.c(24): Notify: Transaction "Login" started.
深刻剖析VuGen脚本录制原理的更多相关文章
- 彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义
原文 http://www.cnblogs.com/Bonnie83/p/3525200.html 初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因 ...
- 彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义http请求
初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因一是LR本身存在对测试环境的兼容性问题导致录制失败,更深层次的原因是录制者不清楚LR录制脚本的原理,或 ...
- Loadrunner脚本录制常见问题整理
1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决. 启动浏览器,打开Inter ...
- [转]LoadRunner脚本录制常见问题整理
LoadRunner脚本录制常见问题整理 1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面 ...
- 【转】HTML-based script和URL-based script两种脚本录制方式
在Web(HTTP/HTML)录制中,有2种重要的录制模式.用户该选择那种录制模式呢?HTML-mode录制是缺省也是推荐的录制模式.它录制当前网页中的HTML动作.在录制会话过程中不会录制所有的资源 ...
- 转:Loadrunner学习知多少--脚本录制下载操作
在很多时候我们可能需要对系统进行这样的脚本开发,模拟用户点击一个下载链接,然后弹出下载框,选择保存,用来测试在大量用户下载时服务器的性能.但是现在大家对于这种脚本的处理方式往往是通过关联和C 语言的文 ...
- 老李推荐:第14章9节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-遍历控件树查找控件
老李推荐:第14章9节<MonkeyRunner源码剖析> HierarchyViewer实现原理-遍历控件树查找控件 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员 ...
- 老李推荐:第14章3节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-HierarchyViewer实例化
老李推荐:第14章3节<MonkeyRunner源码剖析> HierarchyViewer实现原理-HierarchyViewer实例化 poptest是国内唯一一家培养测试开发工程师的培 ...
- 老李推荐: 第14章2节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-HierarchyViewer架构概述
老李推荐: 第14章2节<MonkeyRunner源码剖析> HierarchyViewer实现原理-HierarchyViewer架构概述 HierarchyViewer库的引入让M ...
随机推荐
- HDU4738:Caocao's Bridges(求桥)
Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 字符串模式匹配算法--BF和KMP详解
1,问题描述 字符串模式匹配:串的模式匹配 ,是求第一个字符串(模式串:str2)在第二个字符串(主串:str1)中的起始位置. 注意区分: 子串:要求连续 (如:abc 是abcdef的子串) ...
- 解决iText2.0.8+freemark导出pdf不支持base64的解决办法
转换工具类 public class B64ImgReplacedElementFactory implements ReplacedElementFactory { /** * 实现createRe ...
- MongoDB入门(8)- c#通过操作MongoDB GridFS实现文件的数据库存储
GridFS介绍 GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件. GridFS GridFS长啥样 /* 1 */ { "_id" : ObjectId(& ...
- 51Nod 1049最大子段和 | 模板
Input示例 6 -2 11 -4 13 -5 -2 Output示例 20 1.最大子段和模板 #include "bits/stdc++.h" using namespace ...
- mysql 并发测试
针对上一节做一些针对公司业务的测试. 我们来做一些压力测试. 服务器配置: 操作系统: centos 5.6-64 CPU: 8核 内存: 8G 硬盘:sas 文件系统:linux MySQL:5.6 ...
- [Unity]模拟雨水的折射效果
用GrabPass做的小玩具. 并不是真的计算了折射,只是简单地扰动了uv,对于雨水来说效果已经足够好了. Shader代码: Shader "Unlit/Rain" { Prop ...
- hdu 1070 Milk(贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1070 Milk Time Limit: 2000/1000 MS (Java/Others) M ...
- 常见网络命令之traceroute命令一起其他常用命令
备注:任何命令+/?就可以显示命令帮助,比如:ipconfig /?. traceroute命令 traceroute是UNIX系统中的名字,用来跟踪一个分组从源点到终点的路径.在Windows系统中 ...
- 【Python学习笔记】异常处理try-except
Python异常处理 我们一般使用try-except语句来进行异常处理. 使用except Exception as err可以统一捕捉所有异常,而也可以分开处理单个异常. # 分开捕捉单个异常 t ...