没有合适的资源?快使用搜索试试~ 我知道了~
首页loadrunner 三大组件详细操作手册
loadrunner 三大组件详细操作手册
需积分: 49 1.3k 浏览量
更新于2023-03-16
评论 1
收藏 7.71MB DOCX 举报
该文档详细介绍了loadrunner 三大组件的使用,包括Vuser、Controller、Analysis。包含以下内容: 第一章 Loadrunner vugen录制与脚本开发 1-1 脚本的录制和优化 1-2 换个角度理解关联 1-3 手动关联排错实战 1-4 事物 1-5 检查点 1-6 文本参数化 1-7 数据库参数化 1-8 补充方法函数 1-9 脚本编写中需要注意的事项 1-10 run time settings设置中心 1-11 webservices协议脚本编写实战 1-12 LoadRunner性能测试数据库mysql实战 1-13 使用LoadRunner来录制手机APP脚本 1-14 java vuser协议脚本编写实战 第二章 Loadrunner controller场景设计和监控利器 2-1 性能测试场景设计与监控实战 2-2 集合点 2-3 IP欺骗 2-4 性能测试场景设计以及关键点补充 第三章 Loadrunner analysis结果分析实战 3-1 性能测试分析思路和方法精要 3-2 概要图-分析的突破口 3-3 运行用户图 3-4 错误图 3-5 平均事物响应时间图 3-6 TPS图 3-7 点击率和吞吐量图 3-8 连接数图 3-9 网页细分图 3-10 系统资源图 3-11 合并图
资源详情
资源评论
资源推荐

1 第一章 Loadrunner vugen 录制与脚本开发
1.1 脚本的录制和优化
1.1.1 脚本录制
我们在录制脚本之前一定要了解并清楚该系统所使用的通信协议(如果不清楚可以向开发人员询问),
是否支持该协议,只有清楚这些,才能确保利用工具来完成性能测试的可行性。
通信协议的选择:
目前市面软件绝大部分都是 类型,遇到这类型的软件一般选择 协议进行录制,除了
个别类型的 架构,如视频监控就不能选择 进行录制。
在不知道选择哪种通信协议的情况下还可以借助优秀的第三方协议分析工具来帮助你分析,如
、、 等
1.1.2 脚本优化
在脚本录制过程中会有一些不相关的请求也被录入到脚本中,这些请求是与我们业务不相关的,所以必须对
我们的代码进行优化,例如脚本中包含 、微信、百度之类的请求,这时我们就需要将这些代码删除。
为了让脚本能更好的直观的体现是否执行成功我们需要在脚本中加入检查点,设置关联来确保脚本的正确性。
还有一类是回放脚本时出现错误导致回放不成功,这类错误优化需要查看报错日志更具错误提示来进行优化,
如函数没有添加正确,函数中的字符类型未设置正确
列如:
!"# $%%& '(")'*+,*--,*出现错误,查看该函数说明
!"#比较 &.和 &/以确定字母排序的次序。
!"# !!0&.+!!0&/*1
将其改为:
!"# $%%& '(")'*+','*--,*运行成功。
1.2 换个角度理解关联
1.2.1 为什么要对脚本设置关联
首先我们先来了解下 $ 的工作原理,这样更便于理解为什么会做关联。

当执行脚本时,23 伪装成浏览器,然后根据脚本,把当初真的浏览器所说过的话,再对网站伺服器重
新说一遍,23 企图骗过服务器,让服务器以为它就是当初的浏览器,然后把网站内容传送给 23。
所以纪录在脚本中要跟服务器所说的话,完全与当初录制时所说的一样,是写死的(!)。这样的作
法在遇到有些比较聪明的服务器时,还是会失效。这时就需要通过关联(!$)的做法来让 23 可
以再次成功地骗过服务器。
所谓的关联(!$)就是把脚本中某些写死的(!)数据,转变成是撷取自服务器所送
的、动态的、每次都不一样的数据。
举一个常见的例子,服务器在每个浏览器第一次跟它要数据时,都会在数据中夹带一个唯一的辨识码,接下来就
会利用这个辨识码来辨识跟它要数据的是不是同一个 浏览器。一般称这个辨识码为 45。对于每个新的
交易,服务器都会产生新的 45 给浏览器。这也就是为什么执行脚本会失败的原因,因为 23 还是
用旧的 45 向服务器要数据,服务器会发现这个 45 是失效的或是它根本不认识这个
45,当然就不会传送正确的网页数据给 23 了。
如上图,当录制脚本时,浏览器送出网页 6 的请求,服务器将网页 6 的内容传送给浏览器,并且夹带了一
个 45-./7 的数据,当浏览器再送出网页 的情求时,这时就要用 45-./7 的数据,服务器才会认为这是合法
的请求,并且把网页 的内容送回给浏览器。
1.2.2 设置关联的方法
由于自动关联很不靠谱,人还是比机器更智能,所以我们只介绍手动关联,手动关联的执行步骤大致如下:
.、使用相同的业务流程与数据,录制二份脚本
/、找出两份脚本中不同的地方
7、确定脚本中有差异的地方是否需要关联

8、确定关联函数的插入位置
9、使用 %&%:%#" 函数手动建立关联
;、参数化要关联的动态值
<、回放脚本验证关联是否成功
使用相同的业务流程与数据录制二份脚本
先录制一份脚本并存档, 依照相同的操作步骤与数据录制第二份脚本并存盘。注意,所有的步骤和输入的
数据一定都要一样,这样才能找出由服务器端产生的动态数据。有时候会遇到真的无 法使用相同的输入数据,
那您也要记住您使用的输入数据,到时才能判断是您输入的数据,还是变动的数据。
找出两份脚本中不同的地方
如上图,选用文本对比工具将两份脚本进行对比 (也可以使用 自带的 5 进行对比)
逐一检视二份脚本中差异的部份,每一个差异都可能是需要做关联的地方。选取差异的脚本,然后复制。
在复制时,有时并不需要取整行脚本,可能只会选取脚本中的一部分。
注意:请忽略 $%%" 的差异部份,因为 $%%" 是用来模拟每个步骤之间使用者思考延迟的时间。
确定脚本中差异的地方是否需要做关联

如上图,复制其中一份脚本中不同的内容,然后在该脚本对应的 3& 中找这个值。将鼠标光
标点到 3& 的第一行开头,按下 =$>?,开启【?】窗口,贴上刚刚复制的脚本,找出在
3& 第一次出现的位置。
在 3& 中找不到要找的数据,这时请先确认您找对了脚本,毕竟现在开启了二个几乎一样的脚本,
很容易弄错。
在 3& 中找到了要找的数据,这时要确认数据是从服务器端传送过来的。首先可以先检查数据的
标头,从标头的 #@ 可以知道数据是从服务器端传送到 !$ 端的。假如此数据第一次出现是在
A 中,则表示此数据是由 !$ 端产生,不需要做关联,但是有可能需要做参数化
(#"B)。
您要找的标头格式如下:
0000000#@?!4.7000000
确定关联函数的插入位置
在之前的步骤,我们已经在 CD!& 中找到可能需要关联的动态数据,复制动态值部分进行关联就
可以进行关联了,但是我们的关联函数应该插入到脚本的什么位置呢?所以我们要先找出使用
%&%:%#" 函数的正确位置,所以我们要再重新执行一遍脚本,而且这次会开启所有的 &。 在
23 中点选【2】E【"&】E【3$】E【&】E勾选【C$$&&&】、

【6$@"&】、【CD$&】以及【CD$&】下的所有选项,按下【FG】,然
后就可以执行脚本了。
如上图,执行完脚本之后,复制动态值所在行的其他脚本内容(而不是动态值本身)在 #$@& 中进
行查找。找到字符串后,在字符串前面会有 6!H! 8*I,这个 8 就是到时候要插入 %&%:%#"
函数的位置, 也就是要插入到脚本的第 8 行。
为什么关联函数要插入到第 8 行?而不是动态值所在的那一行?
因为 %&%:%#" 函数为注册函数,必须在动态值的前面,相当于先声明,后作用。注意:并不是
在动态值的前面就行了,一定得在该 动态值所属的请求前,如例子中应该在“%$J前面,而不是第 .< 行的
“%"%J之前,这里需要好好理解一下。
使用 Web_reg_save_param 函数建立关联
将光标定位在脚本的第四行前 在日志中我们查找到的那一行双击也可自动跳转到需要关联的位置*,右击
E4E#HHH,在弹出的窗口中展开 :! 结点,选择“%&%:%#"J,然后点击 。
剩余63页未读,继续阅读















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0