Loadrunner录制的是客户端与服务器端之间的通讯过程
Loadrunner的主要组件
VuGen(虚拟用户生成器)是开发Vuser脚本的主 要工具。
Controller(负载生成器),用于组织、驱动、管理 和监控负载测试。
Analysis,有助于查看、分析和比较性能结果,帮 助技术人员实现性能调优。
增强脚本—事务
事务(Transaction)是这样一个点,我们为了衡量 某个Action的性能,需要在action的开始和结束位置 插入这样一个范围,这就定义了一个transaction,lr 运行到该事务的开始点时,lr就会开始计时,直到 运行到该事务的结束点,计时结束。这个事务的运 行时间在结果中会有反映。 插入事务操作可以在录制过程中进行,也可以在录 制结束后进行。lr可以在脚本中插入不限数量的事 务,每个事务的名称都不相同。 lr_start_transaction("login"); lr_end_transaction("login",LR_AUTO);
增强脚本—集合点
集合点(Rendezvous )是一个并发访问的点,在测试计划 中,可能会要求系统能够承受1000人同时提交数据,在lr中 可以通过在提交数据操作前面加入集合点,这样当虚拟用户 运行到提交数据的集合点时,lr就会检查同时有多少用户运 行到集合点,如果不到1000人,lr就会命令已经到集合点的 用户在此等待,当在集合点等待的用户达到1000 人时,lr命 令1000 人同时去提交数据,并发访问的目的。 注意:集合点经常和事务结合起来使用,常放在事务的前 面,集合点只能插入到Action 部分,vuser_init和 vuser_end中不能插入集合点。 具体的操作方法如下:在需要插入集合点的前面,点击菜单 InsertÆRendezvous,也可在录制时按插入集合点按钮 参数中不能加空格:lr_rendezvous(“login”);
增强脚本—参数化1
参数化(parameter )就是vu使用参数去替换不想 使用相同的变量,而这些不断变化的参数存在于某 个数据源中,该数据源可以是一个文件,也可以是 内部生成的变量。 参数化仅可以用于一个函数中的参量。你不能用参 数表示非函数参数的字符串。另外,不是所有的函 数都可以参数化的。 要参数化的数据好要提前准备出来放在文件或数 据库中,以便让VU来读取。
增强脚本—参数化2
参数类型:File ,DateTime, Random Number ,Group Name, Iteration Number,,Unique Number, VuserID … “Select next row ”:多个VU如何取值, Sequential , Random , Unique Same Line As Name:和前面定义的参数Name 取 同行的记录。 “Update value on”:多次迭代如何取值each iteration , each occurrence , once
增强脚本—检查点
在进行压力测试时,为了检查Web服务器返回的网 页是否正确,VuGen允许我们插入Text/Imag检查 点,这些检查点验证网页上是否存在指定的Text或 者Image。还可以测试在比较大的压力测试环境 中,被测的网站功能是否保持正确。 操作步骤: 1、可以将视图切换到TreeView视图 2、在树形菜单中选择需要插入检查点的一项,然后点 鼠标右键,选择将检查点插到该操作执行前(Insert Before)还是执行后(Insert After)。 3、在弹出对话框中选择web Checks 下面的Image Check 或是Text Check 4、对需要检查点设置相关的属性
增强脚本—思考时间
思考时间(thinktime)用户在执行两个连续操作期间等待的 时间。 Vuser使用lr_think_time函数模拟用户思考时 间。录制脚本时,VuGen将录制实际的思考时间并 将相应的lr_think_time语句插入到脚本中。 可以编辑已录制的lr_think_time语句,也可在 脚本中手动添加更多lr_think_time语句。 思考时间是以秒为单位指定的
增强脚本-消息发送
消息发送(Message)使用Vuser脚本中 Message 类型的函数,可以向输出窗口和日志文件 发送自定义的错误消息和通知消息. 注意:不要从事务内部发送消息,因为这可能使事 务执行时间变长,并扭曲事务结果。 经常用到的Message函数:lr_output_message, lr_log_message,lr_message,lr_error_message
增强脚本—关联
关联(Correlation )就是把脚本中某些写死的数 据,转变成是撷取自服务器所送的、动态的、每次 都不一样的数据。 VuGen提供二种方式帮助您找出需要做关联的值:自 动关联、手动关联 关联函数:web_reg_save_param:常用來做关联 的函數。
增强脚本—自动关联
VuGen内建自动关联引擎,可以自动找出需要关联的 值,并且自动使用关联函数建立关联。 在Recording Options菜单,选择Internet Protocol>Correlation,勾选Enable correlation during recording,启用关联。 1、录制脚本并执行 2、执行完毕后,VuGen会跳出下面的Scan Action for Correlation窗口,询问您是否要扫描脚本并建立关 联,扫描完后,可以在脚本下方的Correlation Results中看到扫描的结果 3、对其中的扫描进行关联 如果没有弹出需要选择【Tools】->【General Option】选中的Correlation,选中Show Scan for corrlerationspopup after replay of Vuser即可
增强脚本—手动关联
手动关联的的执行过程大致如下: 1、录制两份一模一样的脚本 2、使用WinDiff工具比较两份脚本的数据 3、使用web_reg_save_param函数手动建立关联
运行时设置(F4)
Run Logic:用来设置Action部分重复运行的次数 Pacing:用来设置以怎样一种方式开始下一次反复 Log: :设置是否启用日志 Think Time:关于脚本中think time的设置 Miscellaneous:配置其他运行时设置 Speed Simulation: 用来模拟网速 Browser Emualation: 设置浏览器仿真属性 Proxy: 设置代理
单机运行Vuser脚本
经过以上的各个步骤后,点击Run按钮,即可运行脚 本 VuGen会先自动编译脚本,检查是否有语法错误。如 果有错误,VuGen将会提示错误。双击错误提示, VuGen能够定位到出现错误的那一行。 为了验证脚本的正确性,我们还可以调试脚本,比 如在脚本中加断点(F9)等。 如果编译通过,就会开始运行。然后会出现运行结 果,运行结束后自动弹出一个结果窗口。