LR12.53—第4课:准备Vuser脚本进行负载测试
第4课:准备Vuser脚本进行负载测试
在前面的课程中,您确认您的Vuser脚本的回放产生了真正的用户的精确仿真。下一个步骤是准备的脚本负载测试。如何将多用户系统同时工作的工作?会拖慢系统到不可接受的程度?
在本课程中,您将了解不同的方法来增强此脚本,并为负载测试过程更加有效。
在这一课中,你将涵盖以下主题:
如何衡量一个业务流程的持续时间?
当准备部署的应用程序,你需要衡量具体业务的持续过程,它是如何需要很长时间来登录,预订机票等。每个业务流程通常是由在脚本的一个或多个步骤或动作。在Vuser脚本,您指定一系列您希望通过在一个这些行动来衡量行动的事务。
当您运行Vuser脚本,包括交易,LoadRunner将收集信息,大概需要执行事务的时间,并显示在彩色编码图和报告结果。您可以使用这些信息来帮助确定该申请符合性能要求。
您可以手动在Vuser脚本的任意位置插入交易。来标记一组步骤作为交易,插入一个start_transaction的第一步和前标记end_transaction在最后一步之后标记。
在本节中,你将插入一个交易到脚本来衡量所花费的时间为用户查找和确认航班的数量。
要插入到交易Vuser脚本:
- 在VuGen中,打开Basic_Tutorial你中创建脚本第1课:构建Vuser脚本。如果它仍然是开放的,可以选择显示其名称的选项卡。否则,你可以在打开文件菜单。
- 单击步骤导航器选项卡以显示步骤导航。
- 插入一个开始事务。
- 在步骤导航,定位步骤图片:国际航班查询按钮。
- 双击图片:国际航班查询按钮的步骤,显示相应的web_image在编辑器中的步骤。
- 点击查看>步骤工具箱。步骤工具箱出现在右窗格中。
在步骤工具箱,在公共选择lr_start_transaction,将其拖到编辑器,和之前释放它web_image一步。打开开始事务对话框。

- 在事务名称框中,输入find_confirm_flight并单击OK。VuGen将一个lr_start_transaction在步骤导航步骤以及相应的lr_start_transaction在编辑器的功能。
- 插入一个结束事务标记。
- 在步骤导航器中,找到步提交表单:reservations.pl。
- 双击提交表格:reservations.pl步骤,以显示相应的web_submit_form在VuGen中编辑的步骤。
在步骤工具箱,在公共选择lr_end_transaction,将其拖到编辑器和后释放web_submit_form一步。打开结束事务对话框。

确保find_confirm_flight出现在交易名称框,然后单击确定。VuGen将一个lr_end_transaction在步骤导航步骤以及相应的lr_end_transaction在编辑器的功能。

现在,您已经定义了find_confirm_flight交易。
我如何模拟多个用户?
在您的仿真,您跟踪用户预订机票,并选择靠走道的座位。在现实生活中的设置,但是,不同的用户将具有不同的偏好。为了提高您的测试,你需要检查,如果当用户选择不同的座位喜好预订将工作(过道,窗口或无)。
要做到这一点,你就会参数的脚本。这意味着你采取的入账价值,过道,并用参数替换它。您将放置值在参数文件中的参数。当您运行脚本时,Vuser将使用参数文件(值过道,窗口或无),从而模拟真实的旅行社环境。
参数化脚本:
- 找到你想要改变的数据部分。
- 选择视图>步骤导航显示导航步在左窗格中。
- 在步骤导航,定位提交表单:reservations.pl一步。
右键单击提交表单:reservations.pl步骤,并选择显示参数。打开提交表单步骤属性对话框。

美国广播公司图标
到网格中每个参数的权表示该说法有一个固定值。
- 固定值更改为不同的值。
- 在提交表单步骤属性对话框中,选择seatPref网格的第七排。
点击ABC图标
毗邻seatPref参数。打开选择或创建参数对话框。
- 创建参数。
- 在参数名称框中,键入座位。
点击OK。在提交表单步骤属性对话框中,VuGen将替换ABC图标
与参数图标
。
点击参数图标
毗邻{}座位,选择参数属性。打开参数属性对话框。
- 指定的参数值。
- 点击添加行。VuGen将添加行到表中。
- 更换字值与窗口。
- 点击添加行。VuGen将增加另一行表。
更换字值与无。

注意:这些值不区分大小写。
- 保持在默认的设置,选择列和文件格式对话框的部分。
- 定义测试将如何变化的数据。
- 记住,指示VuGen采取新的值每次迭代的默认设置: 每一次迭代:对更新值。
- 点击关闭,关闭参数属性对话框。
点击确定关闭提交表单步骤属性对话框。
您现在已经创建了座位偏好的参数。当您运行负载测试,这些Vuser将使用参数值来代替的入账价值,过道。
当您运行脚本,重播日志将显示出现了每次迭代的参数替换。该Vuser将使用过道对于第一次迭代,窗口的第二次迭代,并且没有对于第三次迭代。
如何验证网页内容?
运行测试时,你经常需要验证,如果某些内容被返回的页面上找到。A含量检查验证脚本运行时出现在网页上预期的信息。您可以将两种类型的内容检查:
- 文本检查。检查时显示的网页上的文本字符串。
- 图像检查。检查网页上的图像。
在本节中,你将插入一个文本检查来检查,如果这句话查找航班出现的HP Web之旅的预订页面上。
插入文本检查
- 单击步骤导航器选项卡以显示步骤导航。
- 在步骤导航,定位提交表单:reservations.pl一步。
- 在VuGen工具栏上,单击显示窗格中的快照按钮
来显示快照窗格。 - 在步骤导航器,双击该快照图标提交表单:reservations.pl一步。相应的快照出现在快照窗格中。
- 从VuGen将菜单中,单击查看>步骤工具箱。出现的步骤工具箱窗格。
- 在步骤工具箱-搜索框,类型web_reg,然后找到web_reg_find在步骤筛选结果。
- 拖动web_reg_find的之前从工具箱进入编辑器的步骤,web_submit_form功能。打开查找文本对话框。
- 在查找文本对话框中,键入查找航班进入搜索特定的文本框,然后单击确定。
VuGen将一个web_reg_find踏入步骤Navigator和相应的web_reg_find函数进入编辑器。

当您回放脚本时,VuGen将查找文本查找航班,并指出在回放日志文本是否被找到。
我怎么可能产生的调试信息?
在试运行期间的某些点,您可能要生成和发送包含有关脚本执行信息的消息。这些输出消息将同时出现在回放日志在输出窗格中,并在控制器的输出窗口。您可以发送标准输出消息或表示出现了错误的消息。
与错误信息的工作推荐的方法是检查一个失败的状态。如果状态为失败,您指示VuGen发出错误消息。有关详细信息,请参考实例函数参考。
在本节中,您将指示VuGen插入输出消息应用程序完成一个完整的预订后。
要插入输出消息:
- 单击步骤导航器选项卡以显示步骤导航。
- 在步骤导航器,定位到最后一步,图片:签收按钮。
- 双击图片:签收按钮一步。该编辑器将显示相应的web_image功能。
- 在工具箱中的步骤,在通用,找到lr_output_message功能。
选择lr_output_message功能,将其拖动到编辑器,后释放 web_image功能。打开输出消息对话框。

- 在消息文本框中,键入该航班被黄牌警告。
点击OK。VuGen将添加一个lr_output_message到脚本,并在步骤导航器的相应步骤。

- 点击保存按钮
VuGen工具栏上保存脚本。
注意:要插入一个错误信息,重复同样的过程,只是在步骤工具箱中选择一个lr_error_message功能,而不是lr_output_message功能。
难道我的测试的重播成功吗?
在本节中,您将运行脚本增强搜索和重播日志文本检查。您将查看文本检查的交易和参数的结果,以及详细信息。
默认情况下,因为它们需要更多的内存图片和文字检查都在播放过程中禁用。如果要执行图像或文本检查,您需要启用在运行时设置检查。
- 启用图像和文本检查。
- 双击点击运行时设置在左侧的Solution Explorer窗格节点,打开运行时设置视图。
- 点击Internet协议>首选项。
- 选择启用图像和文本检查。
- 点击确定关闭运行设置对话框。
运行脚本。
点击重放按钮
VuGen工具栏上。VuGen将开始运行脚本,在回放日志在输出窗格中生成的条目。等待脚本完成运行。
- 找到文本检查。
- 单击输出窗格,然后选择重播。
- 点击重放日志,然后按Ctrl + F打开搜索对话框。
搜索web_reg_find。
一审认为,如下所示:
web_reg_find开始
点击查找下一个要显示的下一个实例web_reg_find。第二个实例表示如下:
注册web_reg_find成功。这不是实际的文本检查,它只准备VuGen将检查表单提交后的文字。
点击查找下一个要显示的下一个实例web_reg_find。这个实例表明:
注册web_reg_find成功为“文本=查找航班”(计数= 1)。
这验证了文被发现。如果有人更改了网页并删除这句话查找航班,然后在随后的运行中,输出将表示文本没有被发现。
- 定位在事务的开始。
- 在回放日志,请按Ctrl + F打开搜索对话框。
- 搜索单词交易。该通知以蓝色显示。
- 查看参数替换。
- 在回放日志,请按Ctrl + F打开搜索对话框。
- 搜索单词参数。日志中包含的通知“ 座位 ”=“ 过道 ”。
- 下一个替代试(F3)搜索。注意VuGen将如何进行每个迭代一个不同的值。
- 选择文件>保存或单击保存 按钮
VuGen工具栏上。
注:来源为HP官网帮助中心 http://lrhelp.saas.hp.com/en/latest/help/WebHelp/Content/Tutorial/WebTours.htm
由于使用的google翻译,有些专有名词翻译的不准确,这个系列只是做个入门流程参考,望大家见谅哈~
LR12.53—第4课:准备Vuser脚本进行负载测试的更多相关文章
- LR12.53—第2课:准备脚本重播
第2课:准备脚本重播 创建Vuser脚本后,可以通过从VuGen中运行它验证它.有时重播将失败,即使同样的动作在录制过程中取得了成功. 许多应用程序使用,每次使用应用程序时更改动态值.例如,某些服 ...
- LR12.53—第3课:重播Vuser脚本
第3课:重播Vuser脚本 在前面的教训,你记录了一组典型的用户行为,并准备重播脚本. 重播脚本之前,您可以配置脚本的运行时设置,它定义了Vuser的行为. 注:记录与基于Web的协议的地方WebTo ...
- LR12.53—第1课:构建Vuser脚本
第1课:构建Vuser脚本 要生成系统上的负载,首先建立一个可以运行以模拟真实用户行为Vuser脚本.您使用VuGen创建和构建Vuser脚本. 在这一课中,你将涵盖以下主题: 介绍VuGen将 - ...
- LR12.53—第5课:创建负载测试场景
在前面的课程中,您使用VuGen将验证您的Vuser脚本.在本课中,您将评估多个Vuser的负载下您的系统.您将模拟十个旅行代理同时使用航班预订系统的行动,以及这些用户的负载下观察系统的行为.设计和运 ...
- LR12.53—第7课:分析场景
第7课:分析场景 在前面的课程中,您学习如何设计,控制和执行方案运行.一旦您已加载您的服务器,你要分析的运行,并确定需要被淘汰,以提高系统性能的问题. 在图表和报告中有关方案的性能您的分析会议上提出的 ...
- LR12.53—第6课:运行负载测试
第6课:运行负载测试 当你运行一个负载测试,LoadRunner将生成系统上的负载.然后,您可以使用LoadRunner的监控器和图形负载下,观察系统的性能. 在这一课中,你将涵盖以下主题: 一目了然 ...
- 【原创】LoadRunner Java Vuser脚本的配置和调试指南
1 编写目的 本文介绍了Loadrunner多负载压力机的配置,并通过测试Java Vuser的数据库连接脚本对配置结果进行了验证,同时对配置过程中遇到的问题和解决的过程进行了记录,关于Java数据库 ...
- shell脚本中文件测试
shell脚本中文件测试 author:headsen chen 2017-10-17 14:35:19 个人原创,转载请注明作者,否则 依法追究法律责任 [ -f filename ] ...
- JMeter (3) —— JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial)
JMeter (3) -- JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial) 主要内容 JMeter录制脚本并进行压力测试用户登陆场景,并以CAS SSO单点 ...
随机推荐
- 在windows平臺下使用cygwin獲取root用戶權限
最近在使用cygwin時發現一個問題,當我要使用root用戶權限時,竟然創建不了root賬戶.最後在網上找了下後,暫時衹找到了通過更改當前用戶權限獲得root權限的方法,具體如下: 实际环境:win1 ...
- Servlet页面登录的数据库验证程序(二)
这个程序在原来的程序基础上加入了密码验证. 一.增加一个error.jsp页面,用于跳转出现用户名和密码错误显示信息. <%@ page language="java" im ...
- MongoDB学习笔记九:分片
分片(sharding)是指将数据拆分,将其分散存在不同的机器上的过程.有事也用分区(partitioning)来表示这个概念.将数据分散到不同的机器上,不需要功能强大的大型计算机既可以存储更多的数据 ...
- 创建支持ssh服务的docker容器和镜像
http://www.kongxx.info/blog/?p=57 1. 这里使用的centos作为容器,所以首先下载centos的imagessudo docker pull centos 2. 下 ...
- day26 分布式监控系统开发
本节内容 为什么要做监控? 常用监控系统设计讨论 监控系统架构设计 监控表结构设计 为什么要做监控? –熟悉IT监控系统的设计原理 –开发一个简版的类Zabbix监控系统 –掌握自动化开发项目的程序设 ...
- mvc模型验证
自定义的ValidationAttribute类, Compare [Compare("MyOtherProperty")] 两个属性必须相同值,比如我们要求用户重复输入两次邮 ...
- HTMLParser使用
htmlparser[1] 是一个纯的java写的html(标准通用标记语言下的一个应用)解析的库,它不依赖于其它的java库文件,主要用于改造或提取html.它能超高速解析html,而且不会出错.现 ...
- hibernate:Named query not known: findXXXX or XXXX is not mapped
.hbm.xml文件所放的位置怎么看怎么都在spring配置的扫描路径中,就是会出现标题所示错误,查看log日志,的确也没发现XXXX被mapped的记录~ 参考解决方案: 在eclipse导出jar ...
- [PHP] - Laravel - 列表、新增、修改、删除例子
前言 Laravel默认是自带了CURD的功能,使用路由的Route::resource可以做到. 但真正的项目中,这往往不是我们所需要的.因为一个项目会有比较复杂的计算.验证等功能. 下面是对项目中 ...
- mvc中Url.RouteUrl或者Html.RouteLink实现灵活超链接,使href的值随路由名称或配置的改变而改变[bubuko.com]
mvc,超链接除了直接写在a标签的href内还可以使用路由规则来生成,这样在改变了路由规则或者路由名称时不用再去代码中更改href的值,而且还容易遗漏.借助Url.RouteUrl或者Html.Rou ...