第四章 脚本回放
通过录制像机票预定等一系列典型的用户操作,你建立了对真实用户的模拟。回放你的脚本在把它合并到负载测试情境前确保它能正常运行。在回放过程中,你可以观察浏览器中的每个动作是否和你预期的一致,如果不一致,你需要按照第五节描述的那样加一些关联关系。
载运行脚本之前,你可以配置你的运行时间,这样可以帮你设置虚拟用户的行为。
在这节中你将涉及到如下话题:
Ø 如何设置运行时间;
Ø 如何看脚本运行;
Ø 在哪里可以看到回放摘要;
Ø 如何知道测试是否通过
Ø 如何查找过滤结果
如何设置运行时间
LoadRunner 运行时间的设置(Run-Time setting)可以让你模拟不同的真实用户的动作和行为。例如:你可以模拟一个对服务器的输出立即响应的用户,或者模拟在每个响应前都会停下来思考的用户。你也可以通过配置运行时间来指定虚拟用户应该花多少时间来执行一系列动作,或者是执行的频率等。
有普通运行时间设置(general run-time settings),也可以指定某种类型的的虚拟用户。例如,在Web模拟中,你可以指定你的虚拟用户在Netscape浏览器上而不是在IE上运行,这些将在第六节讲述。
本节中,我们将讨论应用在各种脚本中的普通运行时间设置(general run-rime setting),包括:
Ø Run Logic: 重复的数目
Ø Pacing:在每次循环时的等待时间
Ø Think Time:在每个步骤间用户的思考时间
Ø Log:记录在回放时的各种信息
注:你也可以在LoadRunner控制器中设置你的运行时间,这将在后续课程中讨论。
1. 打开run-time setting
按下F4或者在VuGen的工具栏中单击Run-Time Setting 按钮,弹出Run-Time Setting 对话框。
2. 打开Run Logic 设置
选择Run Logic节点,在这里你可以设置反复时间,或者这个动作连续反复的时间,将反复(iterations)的次数设置为4。
3. 设置间隔(pading)时间
选择Pacing节点。这个节点可以让你设置反复的间隔时间。我们将指定一个随机时间。这将精确模拟一个显示用户在每个动作间的等待时间,但是随机间隔-你没有看到一个真实的用户在每次循环时等待了60秒钟
选择第三项-将间隔时间从60秒调整到90秒
4. 日志设置
选择Log节点,日志设置包括指定在运行测试脚本时记录多少信息。在开发时,你也可以选择一些可以的日志便于调试。但是如果你确信你的脚本的功能的话,你也可以只要错误日志或者不要错误日志
选择扩展脚本(Extended log)和可替换参数(Parameter substitution).和这些选项相关的东西将会在后续课程中讲述。
5. 视图和Think-Time 设置
选择Think-Time节点,不要做任何改变。你可以从Controller控制面板中设置Think-Time,记住你在VuGen中运行脚本时,如果不含think-time的话脚本会运行的快些。
6. 单击OK关闭Run-Time Setting窗口。
如何看脚本运行
当你回放脚本时,VuGen的run-time viewer将会在真实的时间里展示虚拟用户的行为。
默认情况,VuGen在后台运行测试脚本,不会生动的展示运行的动作,然而你可以指定VuGen在你的Viewer里显示它执行的每一个动作。Viewer不是一个真正的浏览器,它只是显示了返回到虚拟用户的页面镜像
1. 选择Tools > General Options, 选择Display标签
2. 选择Show browser during replay 和 auto arrange window 选项,清除脚本执行选项末端的Display report选项
![](http://blogimg.chinaunix.net/blog/upfile/070819144626.jpg)
3. 单击Ok关闭General Options
4.
按下F5或这单击Run按钮。一会,VuGen将打开run-time viewer并开始执行脚本。注意回放重现了你录制脚本中的每一个步骤
5. 在回放结束时,VuGen可能提示你去看关联关系,选择No
在哪里可以看到回放摘要
在run-time viewer中,你可以真实的观察到虚拟用户的动作。你也可以通过事件的文本藐视来查看虚拟用户的动作。VuGen中的输出窗口的Execution Log标签将以彩色编码显示这些信息。
在这部分,你可以打开Execution 日志,你可以定位一些事件和通告。
查看执行日志
1. 如果你没有看到如下范例输出窗口的话,选择view > Output Window将其打开,单击Execution Log 标签。
![](http://blogimg.chinaunix.net/blog/upfile/070819144924.jpg)
2. 在execution日志中,按下Ctrl+F打开查找对话框,定位如下项目条款:
Ø Started, Terminated:脚本运行的开始和结束点, 虚拟用户脚本开始和结束时间
Ø Downloading:在显示页面时指定的URLs和下载资源
Ø iteration:反复的起止时间,和反复的时间(黄色字母)。
VuGen将正确执行的步骤显示为蓝色,错误的显示为红色。例如,如果你在测试过程中断网了,VuGen指出发生错误的行数,避过那且将该行标记成红色文本。
3. 双击执行日志中的某一行。 VuGen将把你定位到相关步骤的脚本中去,视图左侧的垂直的黑线将会指定出这个步骤
4.
选择File >Save As 保存脚本,命名为Tutorial,VuGen将会把run-time setting 一同保存到你的脚本中
如何知道测试是否通过
当你回放了你所记录的事件后,你应该查看结果看下每步是否都成功执行,如果有些步骤执行失败,你需要知道发生在什么时间,及其为什么失败。
本部分,你将要分析你脚本的执行结果。VuGen在测试结果窗口中概述了回放的结果。
1. 选择 View > Test Result
![](http://blogimg.chinaunix.net/blog/upfile/070819145105.jpg)
第一次打开测试结果窗口,它包含两个面板:左侧的树面板和右侧的概述面板。
树面板包含着结果树,每个循环都被编号了,概述面板包含着测试结果的详细描述。
上方的表格指出那个循环通过了,那些循环失败了。如果根据原始录制的内容,VuGen的虚拟用户(Vuser)可以在Mercury Tours 网站上树立通过,则认为测试通过。
最下边的表格,统计报告时间,指出事务处理或者检查点通过与否。在你以后的体验中你可以加上这些特点。
接下来,你将进一步熟悉测试结果,确定在页面回放过程中脚本是否达标。
如何查找过滤结果
如果在你的测试结果中显示出有些错误,你可以反复研习,定位出错点。
在测试结果窗口中,你可以展开测试树,分别查看每个步骤,测试结果窗口中可以看到回放过程中的每个循环的镜像。
1. 展开循环分支
展开第一个分支,然后点击左侧面板中的”+”号展开动作摘要分支。在展开的分
支中你可以看到在循环中的每个步骤。
2. 展示结果镜像
选择第四步, Submit Form. 在结果窗口中显示了那个相关步骤的回放镜像
![](http://blogimg.chinaunix.net/blog/upfile/070819145148.jpg)
3. 查看这个步骤摘要
结果窗口右上侧的面板显示了该步骤的信息摘要:对象或者步骤名。页面是否正确加载等信息,结果(Passed, Failed, Done, 或者 Warning),以及该步骤的执行时间。
4. 查询一个结果状态
如果整个结果摘要显示测试失败的话,你想要定位哪里出错了,你可以用“Failed”这个关键字在结果页面中进行查询。
![](http://blogimg.chinaunix.net/blog/upfile/070819145250.jpg)
选择 Tools > Find 或者单击Find按钮。打开Find对话框。选择Passed选项,确保没有选中其他选项,单击Find next,在结果窗口中显示第一步,其状态为Passed。
选择Tools > Find 或者单击Find按钮,打开Find对话框,选择Failed选项,清除Passed选项,单击 Find Text,在结果窗口中将不会找到任何的错误结果
5. 结果过滤
你可以对结果窗口内容进行过滤,指定某个特殊循环或者某个状态,例如,你可以
通过过滤只显示错误的状态。
![](http://blogimg.chinaunix.net/blog/upfile/070819145451.jpg)
选择 View > Filters 或者单击Filter按钮,filter对话框被打开
选择All Iterations 和Fall Only 状态选项矿,单击OK,因为没有错误,所以左侧的面板显示为空
再打开Filters对话框,单击Default显示所有结果,单击OK关闭对话框并显示结果
6. 关闭测试结果窗口
单击File >Exit..
现在你一经成功执行了你的Mercury Tours 应用程序脚本,你可以进入第五节,解决回放过程中的一般问题了。