这里简单说明一下:VuGen 中的脚本分为三部分:vuser_init、vuser_end 和Action。其 中vuser_init 和vuser_end 都只能存在一个, 不能再分割, 而Action 还可以分成无数多个部分( 通过点击New 按钮, 新建ActionXXX)。在录制需要登陆的系统时, 我们把登陆部分放到vuser_init 中, 把登陆后的操作部分放到Action 中, 把注销关闭登陆部分放到vuser_end 中。( 如果需要在登陆操作设集合点, 那么登陆操作也要放到Action 中, 因为vuser_init 中不能添加集合点) 在其他情况下, 我们只要把操作部分放到Action 中即可。注意: 在重复执行测试脚本时,vuser_init 和vuser_end 中的内容只会执行一次, 重复执行的只是Action 中的部分。
图2.1
●点“ 选项 ”按钮, 进入录制的设置窗体, 这里一般情况下不需要改动。 ●然后点“OK” 后,VuGen 开始录制脚本。
登陆网站,输入用户名jojo,密码bean。登陆后点击左边的Fights,打开Find Flight页面,将Departure City 改为London,将Arrival City 改为Paris,右下的的Type of Seat选择Bussiness(商务仓),点击Continue,接下来的页面继续Continue,在接下来的Payment Dentails页面,输入Credit Card:12345678,Exp Date:11/27,单击Continue继续,显示预定完成页面。
4.单击左边的“Itinerary”查看路线。
5.点击“Sigin off”退出系统。点击悬浮条上的停止按钮。
以上即完成了一次登录、预定航班、检查路线、注销的事物流程。。
在录制过程中, 不要使用浏览器的“ 后退” 功能,LoadRunner 支持不太好! 录制过程中, 在屏幕上会有一个工具条出现。录制的过程和WinRunner 有些类似, 不再多介绍。录制完成后, 按下“ 结束录制” 按钮,VuGen 自动生成用户脚本, 退出录制过程。 选择菜单栏View中的Tree View 和Script View都可以查看录制好的脚本
3.2 完善测试脚本
当录制完一个基本的用户脚本后, 在正式使用前我们还需要完善测试脚本, 增强脚本的 灵活性。一般情况下, 我们通过以下几种方法来完善测试脚本。插入事务、插入结合点、插入注解、参数化输入。这里只举例介绍参数化如何设置,其它只作简单介绍。
3.2.1 插入事务
事务(Transaction): 为了衡量服务器的性能, 我们需要定义事务。比如: 我们在脚本
中有一个数据查询操作, 为了衡量服务器执行查询操作的性能, 我们把这个操作定义为一个事务, 这样在运行测试脚本时,LoadRunner 运行到该事务的开始点时,LoadRunner 就会开始计时, 直到运行到该事务的结束点, 计时结束。这个事务的运行时间在结果中会有反映。
插入事务操作可以在录制过程中进行, 也可以在录制结束后进行。LoadRunner 运行在 脚本中插入不限数量的事务。
具体的操作方法如下: 在需要定义事务的操作前面, 通过菜单或者工具栏插入。输入该事务的名称。注意: 事务的名称最好要有意义, 能够清楚的说明该事务完成的动作。插入事务的开始点后, 下面需要在需要定义事务的操作后面插入事务的“ 结束点”。同样可以通过菜单或者工具栏插入。默认情况下, 事务的名称列出最近的一个事务名称。一般情况下, 事务名称不用修改。事务的状态默认情况下是LR_AUTO。一般情况下, 我们也不需要修改, 除非在手工编写代码时, 有可能需要手动设置事务的状态。
3.2.2 插入集合点
插入集合点是为了衡量在加重负载的情况下服务器的性能情况。在测试计划中, 可能会 要求系统能够承受1000 人同时提交数据,在LoadRunner 中可以通过在提交数据操作前面加入集合点, 这样当虚拟用户运行到提交数据的集合点时,LoadRunner 就会检查同时有多少用户运行到集合点,如果不到1000 人,LoadRunner 就会命令已经到集合点的用户在此等待, 当在集合点等待的用户达到1000 人时,LoadRunner 命令1000 人同时去提交数据, 从而达到测试计划中的需求。
首先在树形菜单中选择需要插入检查点的项目,单击鼠标右键,选择将检查点插入进去。如果在该操作执行前检查,则选择\,在该操作执行后检查则选择\After\,如图所示。
然后系统将弹出对话框,选择\(这里以Text检查点为例说明)。单击\按钮后,会出现\对话框,如图所示
单击\确定\后,即可完成添加\检查点\的任务。
注意: 集合点经常和事务结合起来使用。集合点只能插入到Action 部分,vuser_init 和vuser_end 中不能插入集合点。具体的操作方法如下: 在需要插入集合点的前面, 通
过菜单或者工具栏操作输入该集合点的名称。注意: 集合点的名称最好要有意义, 能够清楚的说明该集合点完成的动作。
3.2.3 插入注释
注释的作用就不多说了, 不过插入注释最好是在录制过程中。具体的操作方法如下: 在需要插入注释的前面, 通过菜单或者工具栏操作
3.2.4 参数化输入
如果用户在录制脚本过程中, 填写提交了一些数据, 比如要增加数据库记录。这些操作 都被记录到了脚本中。当多个虚拟用户运行脚本时, 都会提交相同的记录, 这样不符合实际的运行情况, 而且有可能引起冲突。为了更加真实的模拟实际环境, 需要各种各样的输入。参数化输入是一种不错的方法。 用参数表示用户的脚本有两个优点: ① 可以使脚本的长度变短。
② 可以使用不同的数值来测试你的脚本。例如, 如果你企图搜索不同名称的图书, 你 仅仅需要写提交函数一次。在回放的过程中, 你可以使用不同的参数值, 而不只搜索一 个特定名称的值。
参数化包含以下两项任务: ① 在脚本中用参数取代常量值。 ② 设置参数的属性以及数据源。
参数化仅可以用于一个函数中的参量。你不能用参数表示非函数参数的字符串。 另外, 不是所有的函数都可以参数化的。
参数化输入的讲解, 我们采用一个例子的方式来进行。
在本例中我们参数化用户的登陆名、密码、出发地、到达地、出发时间、到达时间: 点击Open Parameter List功能按钮,弹出对话框,选择“替换为新参数”弹出对话框,此时参数名输入:username,参数类型选择File,如图