LoadRunner11操作手册 - 图文

更新时间:2024-01-16 08:18:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章Loadrunner11简介

随着软件开发技术不断发展和日益成熟,现代应用程序也越来越复杂。应用程序可以利用数十个甚至数百个组件完成以前用纸或人工完成的工作。在业务处理过程中,应用程序复杂度与潜在故障点数目之间有直接的关联。这使得找出问题根本原因变得越来越困难。 软件惊人的变化速度和激增的复杂性为软件开发过程带来了巨大的风险。严格的性能测试是量化和减少这种风险最常见的策略。使用HP LoadRunner 进行自动化负载测试是应用程序部署过程中一个非常重要的环。

1.1为什么要实现性能自动化测试

自动化性能测试是利用产品、人员和流程来降低应用程序、升级程序或补丁程序部署风险的一种手段。自动化性能测试的核心是向预部署系统施加工作负载,同时评估系统性能和最终用户体验。一次组织合理的性能测试可以让用户清楚以下几点:

? 应用程序对目标用户的响应是否足够迅速?

? 应用程序是否能够游刃有余地处理预期用户负载? ? 应用程序是否能够处理业务所需的事务数? ? 在预期和非预期用户负载下应用程序是否稳定? ? 是否能够确保用户在使用此应用程序时感到满意? 通过回答这些问题,自动化性能测试可以量化业务状况的更改所带来的影响。这反过来也可以让用户清楚部署此应用程序的风险。有效的自动化性能测试可帮助您做出更加明智的发行决定,防止发行的应用程序带来系统停机和可用性问题。

1.2LoadRunner 包含哪些组件

LoadRunner 包含以下组件:

? Virtual User Generator 录制最终用户业务流程并创建自动化性能测试脚本,即

Vuser 脚本。

? Controller 组织、驱动、管理并监控负载测试。 ? Load Generator 通过运行Vuser 产生负载。 ? Analysis 用于查看、剖析和比较性能结果。

? Launcher 使您可以从单个访问点访问所有LoadRunner 组件。

1.3了解LoadRunner 术语

场景 Vuse 脚本 事物

场景文件根据性能要求定义每次测试期间发生的事件。

在场景中,LoadRunner 用虚拟用户(Vuser)代替真实用户。Vuser 模仿真用户的操作来使用应用系统。一个场景可以包含数十、数百乃至数千个Vuser。 Vuser 脚本描述Vuser 在场景中执行的操作。

要评测服务器性能,需要定义事务。事务代表要评测的终端用户业务流程。

1

1.4什么是负载测试流程

负载测试一般包括五个阶段:规划,创建脚本,定义场景,执行场景,分析结果。

? ? ? ? ?

规划负载测试:定义性能测试要求例如并发用户数量,典型业务流程和要求的响应时间。 创建Vuser1脚本:在自动化脚本中录制最终用户活动。

定义场景:使用Loadrunner11 Controller 设置负载测试环境。

运行场景:使用Loadrunner11 Controller驱动,管理并监控负载测试。 分析结果:使用Loadrunner11 Analysis创建图和报告并评估性能。

1.5熟悉HP Web Tours

1:启动Hp Web Tours 示例 开始 ->程序 -> Hp Loadrunner -> samples -> Web -> start web server -> Hp Web Tours Application (或者在浏览器中输入:http://127.0.0.1:1080/WebTours/) 进入示例的主页面

2:启动web server 服务后,在浏览器中输入:http://127.0.0.1:1080/进入的是loadrunner11的主页面

3:在示例主页面的左窗格中输入用户名和密码,点击登录 Username:jojo Password:bean

4:预定机票(flights),在 Credit Card (信用卡)框中输入 12345678,并在 Exp Date (到期日)框中输入 06/10。单击 Continue (继续)。这时将打开 Invoice (发票)页面,显示您的发票。 5:suspend-延迟,推辞 Terminate-使结束

6:退出web server ,在任务栏上打开,单击Terminate。

2

第二章Loadrunner的功能

2.1创建负载测试

Controller 是中央控制台,用来创建、管理和监控您的测试。您可以使用Controller来运行模拟实际用户操作的示例脚本,并通过让一定数量的Vuser 同时执行这些操作,在系统上产生负载。

1. 打开HP Loadrunner11窗口

选择开始>程序>HP Loadrunner11>Loadrunner11,这时将打开Loadrunner11.00的窗口,如下图所示:

3

2. 打开Controller

在Loadrunner11Launcher窗格中单击Run Load Tests(运行负载测试),默认情况下,Loadrunner11 Controller打开时将显示‘新建场景’对话框。

单击取消。Scenarios---场景

4

3. 打开示例测试

在Controller菜单中打开,选择文件---打开,然后打开Loadrunner安装位置\\tutorial目录中的demo_scenario.lrs。

将打开LoadRunner Controller 的“设计”选项卡,demo_script 测试将出现在“场景组”窗格中。您可以看到已经分配了10 个Vuser 来运行此测试。

图2.2.1

5

备注:如果没有将教程安装在默认LoadRunner 安装目录下,脚本路径会出错(脚本路径将显示为红色)。要输入正确的路径,请选择脚本并单击向下箭头。单击浏览按钮并转至\\tutorial 目录中的demo_script,然后单击确定。

6

2.2运行负载测试

在图2.2.1中,运行选项卡中,点击开始场景按钮,将出现Controller运行视图,Controller

开始运行场景。

在场景组窗格中,可以看到Vuser逐渐开始运行并在系统中生成负载,您可以通过联机图像看到服务器对Vuser操作的响应情况。

图2.2.2

7

2.3监控负载测试

在应用程序中生成负载时,您希望实时了解应用程序的性能以及潜在的瓶颈,使用LoadRunner 的一套集成监控器可以评测负载测试期间系统每一层的性能以及服务器和组件的性能。LoadRunner 包含多种后端系统主要组件(如Web、应用程序、网络、数据库和ERP/CRM 服务器)的监控器。 1. 查看默认图像

在图2.2.2中,默认情况下Controller 显示“正在运行Vuser”图、“事务响应时间”图、“每秒点击次数”图和“Windows 资源”图。前三个不需要配置。已经配置好Windows 资源监控器来进行这次测试。

?

正在运行Vuser-整个场景,通过此图可以监控在给定的时间内运行的Vuser数目,你可以看到Vuser以每分钟2个速度逐渐开始运行。

?

事务响应时间-整个场景,通过此图可以监控完成每个事务所用的时间,您可以看到客户登录,搜索航班,购买机票,查看线路,和注销所用的时间。

另外还可以看到,随着越来越多的Vuser 登录到被测试的应用程序进行工作,事务响应时间逐渐延长,提供给客户的服务水平也越来越低。

8

? 每秒点击次数 - 整个场景。通过此图可以监控场景运行期间Vuser 每秒向Web服

务器提交的点击次数(HTTP 请求数)。这样您就可以了解服务器中生成的负载量。 ? Windows 资源。通过此图可以监控场景运行期间评测的Windows 资源使用情况

(例如,CPU、磁盘或内存的利用率)。在第7 课“创建负载测试场景”中您将学习如何配置Windows 资源和其他监控器。

提示:

每个测量值都显示在窗口底部的图例部分以不同颜色标记的行中。每行对应图中与之颜色相同的一条线。选中一行时,图中的相应线条将突出显示,反之亦然。

2.4查看错误信息

如果计算机负载很重,可能会发生错误。

在“可用图树”中选择错误统计信息图,并将其拖到windows资源图窗格中,“错误统计信息”图提供场景运行期间所发生错误的详细数目和发生时间。错误按照来源分组(例如,在脚本中的位置或负载生成器的名称)。

在本例中,您可以看到5 分钟后,系统开始不断发生错误。这些错误是由于响应 时间延长,导致发生超时而引起的。

备注:场景要运行几分钟,在场景运行过程中,可以在图像和Vuser之间来回切换,显示联机结果。

2.5分析结果

测试运行结束后,LoadRunner 会提供由详细图和报告构成的深入分析。您可以将多个场景的结果组合在一起来比较多个图。另外也可以使用自动关联工具,将所有包含可能对响应时间有影响的数据的图合并起来,准确地指出问题的原因。使用这些图和报告,可以轻松找出应用程序的性能瓶颈,同时确定需要对系统进行哪些改进以提高其性能。在第10 课“分析场景”中您将学习如何使用Analysis工具。要打开Analysis 来查看场景,可选择结果>分析结果或单击分析结果按钮。结果保存在\\Results\\tutorial_demo_res 目录下。

9

第三章创建脚本

3.1Virtual User Generator (VuGen) 简介

在测试环境中,Loadrunner在物理计算机上使用Vuser代替实际用户,Vuser以一种可重复,可预测模拟典型的用户操作,对系统施加负载。 LoadRunner Virtual User Generator (VuGen) 以“录制-回放”的方式工作。当您在应用程序中执行业务流程步骤时,VuGen 会将您的操作录制到自动化脚本中,并将其作为负载测试的基础。

3.2如何开始录制用户操作

要开始录制用户操作,请打开VuGen 并创建一个空白脚本。然后通过录制操作和 手动添加增强功能来填充这个空白脚本。

在这一节,您将打开VuGen 并创建一个空白Web 脚本 1. 启动Loadrunner11

选择开始>程序> HP LoadRunner > LoadRunner。这时将打开HP LoadRunner11.00 窗口。

2. 打开VuGen

在LoadRunner Launcher 窗格中,单击Create/EditScript(创建/编辑脚本)。这时将打开VuGen 起始页。

10

3. 创建一个空白Web脚本

在欢迎使用Virtual User Generator 区域中,单击New Script---新建脚本按钮。这时将打开“新建虚拟用户”对话框,显示“新建单协议脚本”选项。

协议是客户端用来与系统后端进行的语言。HP Web Tours 是一个基于Web 的应用程序,因此您将创建一个Web Vuser 脚本。请确保“类别”是所有协议。VuGen 将列出适用于单协议脚本的所有可用协议。向下滚动列表,选择Web (HTTP/HTML) 并单击创建,创建一个空白Web 脚本。

注:在多协议脚本中,高级用户可以在一个录制会话期间录制多个协议。在本教程中,您将创建一个Web 类型的协议脚本。录制其他类型的单协议或多协议脚本的过程与录制Web 脚本的过程类似。

11

4. 使用VuGen向导模式

空白脚本以VuGen 的向导模式打开,同时左侧显示任务窗格。如果没有显示任务窗格,请单击工具栏上的任务按钮

。如果“开始录制”对话框自动打开,请单击取消。

VuGen 的向导将指导您逐步完成创建脚本并使其适应测试环境的过程。任务窗格列出脚本创建过程中的各个步骤或任务。在您执行各个步骤的过程中,VuGen 将在窗口的主要区域显示详细说明和指示信息。

Introduction:简介,介绍

可以自定义VuGen 窗口来显示或隐藏各个工具栏。要显示或隐藏工具栏,请选择 视图>工具栏并选中/不选中目标工具栏旁边的复选标记。

通过打开“任务”窗格并单击其中一个任务步骤,可以随时返回到VuGen 向导。

12

3.3如何录制业务流程来创建脚本

创建用户模拟场景的下一步就是录制实际用户所执行的操作。在前面您已经创建了一个空的Web 脚本。现在可以将用户操作直接录制到脚本中。在这一节,您将跟踪一个完整的事件(一名乘客预订从丹佛到洛杉矶的航班,然后查看航班路线)。 要录制脚本,请执行下列操作:

1 在HP Web Tours 网站上开始录制。 A. 单击“任务”窗格中的录制应用程序。 B. 在说明窗格底部,单击开始录制。

或选择Vuser >开始录制或者单击页面顶部工具栏中的开始录制按钮,那个红色的圆点。

13

C.“开始录制”对话框打开,在URL 地址框中,输入http://localhost:1080/WebTours。在录

制到操作框中,选择Action。单击确定。这时将打开一个新的Web 浏览窗口并显示HP Web Tours 网站。

要录制的程序:浏览器的安装目录; URl地址:就是要测试的应用程序的链接;

工具目录:指向Loadrunner的安装目录的Bin目录下,一般不用更改。

备注:当浏览器是IE的时候,工作目录是loadrunner的安装目录,但是当改为其它浏览器的安装目录时,工作目录会改为该浏览器的安装目录,正确的只能是loadrunner的安装目录。

备注:如果打开网站时出错,请确保 Web 服务器正在运行。要启动服务器,请选择启动>

程序> LoadRunner > Samples > Web >启动 Web 服务器。

14

备注:不能自动弹出所用程序的网页页面时,原因是由于安装了多个浏览器,将启用第三方

浏览器扩展的勾去掉。Internet选项----高级----,设置好以后,要重启。 1、安装loadrunner后,录制脚本时打不开IE,或者报错

原因有两个,一是可能安装了多个浏览器,解决方法打开IE选项---高级--去掉“启用第三方浏览器扩展(需要重启动)”的勾选,重启生效。 2、录制脚本时出现IE运行错误

原因:一般是操作系统的环境不适合或者浏览器的版本有出入。 3、清除IE浏览器的缓存。

4、我的是xp+Loadrunner11+360可以成功录制脚本,但是,用IE浏览器就不能成功录制脚本,也不知道是什么问题。我最终是重做的系统,性能测试环境很干净,录制成功了,没有出现问题。

5、Loadrunner11录制的脚本一般都存放在\\scripts目录下。 D、登录到 HP Web Tours 网站,输入用户名和密码jojo/bean,单击Flights航班,输入出发城市和日期,到达城市和日期,首选座位。单击Continue。

E、选择航班,输入支付信息并预订机票,在 Credit Card (信用卡)框中输入 12345678,并在 Exp Date (到期日)框中输入 06/10。单击 Continue (继续)。这时将打开 Invoice (发票)页面,显示您的发票。查看航班路线。

F、查看完航班以后,在左窗格中单击Sign Off(注销)退出航班订票系统。 H、在浮动菜单栏上,单击蓝色的方框停止按钮,以停止录制。

Vuser 脚本生成时会打开“代码生成”弹出窗口。然后 VuGen 向导会自动执行任务窗格中的下一步,并显示关于录制情况的概要信息。(如果看不到概要信息,请单击“任务”窗格中的录制概要。)

15

录制概要包含协议信息以及会话期间创建的一系列操作,VuGen为录制期间每一个步骤生成快照即录制期间各窗口的图片。这些图片已缩略图的形式显示在右窗格中,如果由于某种原因,要重新录制脚本,可点击页面底部的重新录制按钮。

J、选择文件—保存或者单击保存按钮,导航到\\Scripts并创建文件夹为Tutorial的新文件夹,在文件名框中输入Basic_Tutorial并单击保存。VuGen将脚本保存到Loadrunner安装目录的脚本文件夹中,并在标题栏中显示脚本名称。

备注:录制一个诸城专项维修资金系统的登录-备注-注册-退出的过程。 16

3.4如何查看脚本

现在您已经录制了旅行社的登录、预订机票、查看航班线路和注销操作。VuGen录制了从单击开始录制按钮到单击停止按钮之间的所有操作步骤。现在就可以在 VuGen 中查看脚本。您可以在树视图或脚本视图中查看脚本。树视图是一种基于图标的视图,将 Vuser 的操作以步骤的形式列出,而脚本视图是一种基于文本的视图,将 Vuser 的操作以函数的形式列出。

(1) 树视图

要在视图中查看脚本,选择视图---树视图,或者单击树视图按钮,要在整个窗格中查看视图,点击“任务”按钮隐去“任务”窗格。

对于录制期间执行的每个步骤,VuGen 在测试树中为其生成一个图标和一个标题。在树视图中,您将看到以脚本步骤的形式显示的用户操作。大多数步骤都附带相应的录制快照。快照使脚本更易于理解,更方便在工程师间共享,因为您可以清楚地看到录制过程中录制了哪些屏幕。随后可以比较快照来验证脚本的准确性。在回放过程中,VuGen 也会为每个步骤创建快照。单击测试树中任意步骤旁边的加号 (+)。现在您可以看到在预订机票时录制的思考时间。“思考时间”表示您在各步骤之间等待的实际时间,可用于模拟负载下的快速和慢速用户操作。“思考时间”这种机制可以让负载测试更加准确地反映实际用户操作。

17

(2) 脚本视图

脚本视图是一种基于文本的视图,以API函数的形式列出Vuser的操作,要在脚本视图中查看脚本,选择视图---脚本视图,或单击脚本视图按钮。

在脚本视图中,VuGen 在编辑器中显示脚本,并用不同颜色表示函数及其参数值。可以在该窗口中直接输入 C 或 LoadRunner API 函数以及控制流语句。

问题:此时在脚本编辑器中显示的脚本有乱码,中文都是乱码,日志显示的也是乱码? 方法:录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced—高级标

签,先勾选“Support charset”,然后选择中支持UTF-8。再次录制,就不会出现中文乱码问题了。

问题确实解决了!!!!!

18

第四章回放脚本

通过录制一系列典型用户操作(例如预订机票),已经模拟了真实用户操作。将录制的脚本合并到负载测试场景之前,回放此脚本以验证其是否能够正常运行。回放过程中,您可以在浏览器中查看操作并检验是否一切正常。如果脚本不能正常回放,可能需要按照第 5 课“解决常见回放问题”中的说明添加关联。回放脚本之前,可以配置运行时设置,用来帮助您设置 Vuser 的行为。

4.1如何设置运行时行为

通过 LoadRunner 运行时设置,可以模拟各种真实用户活动和行为。例如,您可以模拟一个对服务器输出立即做出响应的用户,也可以模拟一个先停下来思考,再做出响应的用户。另外还可以配置运行时设置来指定 Vuser 应该重复一系列操作的次数和频率。有一般运行时设置和专门针对某些 Vuser 类型的设置。例如,对于 Web 仿真,可以指示 Vuser 在 Netscape 而不是 Internet Explorer 中回放脚本。 适用于所有类型脚本的一般运行时设置。其中包括: ?运行逻辑。重复次数

?步。两次重复之间的等待时间

?思考时间。用户在各步骤之间停下来思考的时间 ?日志。希望在回放期间收集的信息的级别

注意,也可以在 LoadRunner11 Controller 中修改运行时设置 1. 打开运行时设置对话框

确保“任务”窗格出现(如果未出现,请单击任务按钮)。单击任务窗格中的验证回放。 在说明窗格内的标题运行时设置下单击打开运行时设置超链接。也可以按 F4 键或单击工具栏中的运行时设置按钮。这时将打开“运行时设置”对话框。

19

2. 设置运行逻辑

在左窗格中选择运行逻辑节点,设置迭代次数或说连续重复活动的次数,将迭代次数设置为2.

3. 配置步设置

在左窗格中选择步节点,

此节点用于控制迭代时间间隔。可以指定一个随机时间。这样可以准确模拟用户在操作之间等待的实际时间,但使用随机时间间隔时,很难看到真实用户在重复之间恰好等待 60 秒的情况。选择第三个单选按钮并选择下列设置:时间随机,间隔 60,000 到 90,000 秒。

20

4. 配置日志设置

在左窗格中选择日志节点

日志设置指出要在运行测试期间记录的信息量的,开发期间,您可以选择启用日志记录来调试脚本,但在确认脚本运行正常后,只能记录错误或禁用日志功能。选择扩展日志并启用参数替换。 5. 查看思考时间设置

在左窗格中点击思考时间节点

备注:请勿进行任何更改。您可以在 Controller 中设置思考时间。注意,在 VuGen 中运 行脚本时速度很快,因为它不包含思考时间。

21

4.2如何实时查看脚本的运行情况

回放录制的脚本时, VuGen 的运行时查看器功能实时显示 Vuser 的活动情况。默认情况下, VuGen 在后台运行测试,不显示脚本中的操作动画。但在本教程中,您将学习让 VuGen 在查看器中显示操作,从而能够看到 VuGen 如何执行每一步。查看器不是实际的浏览器,它只显示返回到 VuSer 的页面快照。此处就是回放时显示的快照,否则没有快照。 ? 选择工具---常规选项,然后选择显示选项卡。Tools---generation options---display

? 单击确定关闭“常规选项“对话框。 ? 在任务栏(Task)中单击验证回放(2.Replay)然后单击说明窗格底部的开始回放按钮,

或者按F5和工具栏上的运行按钮。

22

? 如果“选择结果目录”对话框打开,并询问要将结果文件保存到何处,请接受默认名称

并单击确定。稍后VuGen 将打开运行时查看器,并开始运行脚本视图或树视图中的脚本(具体取决于上次打开的脚本)。在运行时查看器中,可以直观地看到Vuser 的操作。注意回放的步骤顺序是否与录制的步骤顺序完全相同。

? 回放结束后,会出现一个消息框提示您是否扫描关联。单击否。

4.3何处可以查看有关回放的信息

(1)当脚本停止运行后,您可以在向导中查看关于这次回放的概要信息。要查看上次回放概要,请单击验证回放。

上次回放概要列出检测到的所有错误,并显示录制和回放快照的缩略图。您可以比较快照,找出录制的内容和回放的内容之间的差异。也可以通过复查事件的文本概要来查看Vuser 操作。

23

输出窗口中VuGen 的“回放日志”选项卡用不同的颜色显示这些信息。 (2)查看回放的日志

? 单击说明窗口中的回放日志超链接。也可以单击工具栏中的显示/隐藏输出按钮,

或者在菜单中选择视图>输出窗口。然后单击回放日志选项卡。

? 在回放日志中按Ctrl+F 打开“查找”对话框。找到下列内容:

A:启动和终止。脚本运行的开始和结束 - 虚拟用户脚本已启动、Vuser 已终止。 B:迭代。迭代的开始和结束以及迭代编号(橙色字体部分)。

VuGen 用绿色显示成功的步骤,用红色显示错误。例如,如果在测试过程中连接中断, VuGen 将指出错误所在的行号并用红色显示整行文本。

? 双击回放日志中的某一行。VuGen 将转至脚本中的对应步骤,并在脚本视图中突

24

出显示此步骤。

4.4如何确定测试已通过

回放录制的事件后,需要查看结果以确定是否全部成功通过。如果某个地方失败, 则需要知道失败的时间以及原因。 ? 查看测试结果

1. 要返回到向导,单击任务窗格-Task中的验证回放。

2. 在标题验证下的说明窗格中,单击可视测试结果超链接。也可以选择视图>测试结果。

这时将打开“测试结果”窗口。View----Test Results。

“测试结果”窗口首次打开时包含两个窗格:“树”窗格(左侧)和“概要”窗格(右侧)。“树窗格包含结果树。每次迭代都会进行编号。“概要”窗格包含关于测试的详细信息以及屏幕录制器视频(如果有的话)。在“概要”窗格中,上表指出哪些迭代通过了测试,哪些未通过。如果VuGen的Vuser 按照原来录制的操作成功执行HP Web Tours 网站上的所有操作,则认为测试通

25

过。下表指出哪些事务和检查点通过了测试,哪些未通过。

4.5如何搜索或者赛选结果

如果测试结果表明有些地方失败,您可以深入分析测试结果并找出失败的地方。在“树”窗格中,可以展开测试树并分别查看每一步的结果。“概要”窗格将显示迭代期间的回放快照。

1 在树视图中展开迭代节点。

展开节点basic_tutorial 迭代1,然后单击加号(+) 展开左窗格中的Action 概要节点。展开的节点将显示这次迭代中执行的一系列步骤。 2 显示结果快照。

选择Submit Form: login.pl 节点。“概要”窗格显示与该步骤相关的回放快照。

3 查看步骤概要。

“概要”窗格显示步骤概要信息:对象或步骤名、关于页面加载是否成功的详细信息、结果(通过、失败、完成或警告)以及步骤执行时间。 4 搜索结果状态。

您可以使用关键字通过或失败搜索测试结果。此操作非常有用,例如当整个结果概要表明测试失败时,您可以确定失败的位置。要搜索测试结果,请选择工具>查找,或者单击查找按钮。这时将打开“查找”对话框。

选择通过复选框,确保未选择其他选项,然后单击查找下一个。“测试树”窗格突出显示第一个状态为通过的步骤。

26

注:如果找不到选定状态的步骤,则不突出显示任何步骤。

5 筛选结果。

可以筛选“测试树”窗格来显示特定的迭代或状态。例如,可以进行筛选以便仅显示失败状态。要筛选结果,请选择查看>筛选器,或者单击筛选器按钮。这时将打开“筛选器”

对话框。在状态部分选择失败,不选择任何其他选项。在内容部分选择全部并单击确定

27

因为没有失败的结果,所以左窗格为空。 6 关闭“测试结果”窗口。选择文件>退出。

第五章解决常见回放问题

创建脚本后,通过在VuGen 中运行该脚本来对其进行验证。有时虽然操作录制成功,但简单的回放却会失败。许多应用程序都使用动态值,每次使用应用程序时这些值都会变化。例如,有些服务器会为每个新会话分配一个唯一的会话ID。回放录制的会话时,应用程序创建的新会话ID 与录制的会话ID 不同。LoadRunner 通过关联解决了这种问题。关联将动态值(在本例中为会话ID)保存到参数中。运行模拟场景时,Vuser 并不使用录制的值,而是使用服务器分配的新会话ID。

5.1设置HP Web Tours让其出现回放错误

要演示常见的回放错误,您需要修改HP Web Tours 应用程序中的设置。此设置告诉HP Web Tours Web 服务器不允许出现重复的会话ID。 1 打开HP Web Tours

选择开始>程序> HP LoadRunner > Samples > Web > HP Web Tours 应用程序。浏览器将打开HP Web Tours 的主页。

2 更改服务器选项

a 单击HP Web Tours 主页上的administration (管理)链接。将打开administration (管理)页面。

b 选择具有以下标题的复选框:Set LOGIN form's action tag to an error page.(将LOGIN 表单的操作标记设置为错误页面。)向下滚动到页面底部并单击Update (更新)。 c 向下滚动到页面底部并单击Return to the Web Tours Homepage (返回到Web Tours 主页)链接。此设置告诉服务器不允许出现重复的会话ID。

3 关闭浏览器

5.2如何使用唯一的服务器的值

在修改后的HP Web Tours 配置中,服务器为Vuser 分配一个唯一的会话ID。现在如果回放脚本,将会失败。为解决此问题,请使用VuGen 自动检测是否需要关联会话ID。运行脚本后,VuGen会提示您扫描脚本,查看需要关联的地方。您可以让VuGen 插入将原始会话ID 保存到参数中这一步。在每个回放会话中,VuGen 都会将新的唯一会话ID 保存到参数中。在后面的步骤中,VuGen 使用保存的值而不是原来录制的值。 1使用动态值录制新脚本

按照前面第3 课第29 页的“如何录制业务流程来创建脚本?”中的录制步骤录制新脚本,并将新脚本保存为basic_tutorial_Cor。 2 回放新脚本

28

在“任务”窗格中单击验证回放,然后单击说明窗格底部的开始回放按钮。VuGen将运行新脚本。您会看到输出窗口的回放日志选项卡中有几条显示为红色的错误消息。 3查看回放摘要

在“任务”窗格中单击验证回放以查看“上次回放概要”。

4扫描脚本以查找需要关联的地方

单击说明窗格中标题“动态服务器值”下的链接显示并解析动态服务器值。VuGen 将扫描脚本,搜索录制值与回放值之间的不同。VuGen 将在输出窗口的“关联结果”选项卡中显示一列可能需要关联的差异。

29

5 关联会话 ID

选择“关联结果”选项卡中的第一个条目,单击关联。VuGen 将在脚本的顶部插入新步骤,将原始会话 ID 保存到参数中。在每个回放会话中, VuGen 都会将新的唯一会话 ID 保存到参数中。在后面的步骤中, VuGen 使用保存的值而不是原来录制的值。选择视图>树视图,在测试树中查看此新步骤。

6 检查关联语句的语法

选择视图>脚本视图,查看脚本中的关联语句。VuGen 添加到脚本中的语句如下:

该语句的意思是检查以下两个字符串之间数据的服务器响应: ?左边界:userSession value= ?右边界:>

该语句指示VuGen 将首次出现的此数据保存到参数WCSParam_Diff1 中。 1 再次回放该脚本

选择Vuser >运行,再次回放该脚本。回放结束后,选择视图>树视图。在“回放日志”选项卡中查看。您会注意到VuGen 不再发出用红色标识的错误消息。右键单击脚本中的Service: Reg Save Param 并选择转至回放日志中的步骤。VuGen 将光标放到回放日志中对应的行上。日志表明函数web_reg_save_param已成功,这说明关联已生效。

30

2 修正服务器配置

重置服务器,忽略唯一的会话ID。选择开始>程序> HP LoadRunner > Samples > Web > HP Web Tours 应用程序,打开HP Web Tours。在HP Web Tours 主页上单击administration (管理)链接。在administration (管理)页面上取消选择第三个复选框,其标题为:SetLOGIN form's action tag to an error page. (将LOGIN 表单的操作标记设置为错误页面。)向下滚动到页面底部并单击Update (更新)。关闭浏览器。

3 自动关联

在这一课,您在录制用户操作以后扫描了脚本以查看需要关联的地方。VuGen 还提供了一组可配置的关联规则,用于在录制会话期间处理动态值。有关自动关联的详细信息,请参阅《HP Virtual User Generator 用户指南》。大多数服务器都有明确的语法规则(或称上下文),在创建链接和引用时使用。如果使用支持的应用程序服务器录制会话,您可以使用VuGen 的内置关联规则,VuGen 将在录制期间检测并关联动态值。

第六章为负载准备测试脚本

在前面的课程中,已经验证了脚本是应用程序的精确模拟。您实时观看了脚本的回放并验证了Vuser 执行的是典型业务流程。但这只适用于单个用户的模拟情况。当多个用户同时使用应用程序时,该应用程序是否仍可以运行?如果可以,应用程序的性能是否会下降到不可接受的程度?接下来我们将为负载测试准备脚本,并设置该脚本以收集响应时间数据。在这一章,您将了解用于增强脚本,以便更有效地进行负载测试流程的不同方法。

6.1如何评测业务流程

在准备部署应用程序时,您需要估计具体业务流程的持续时间:登录、预订机票等要花费多少时间。这些业务流程通常由脚本中的一个或多个步骤或操作组成。在LoadRunner 中,通过将一系列操作标记为事务,可以将它们指定为要评测的操作。LoadRunner 收集关于事务执行时间长度的信息,并将结果显示在用不同颜色标识的图和报告中。您可以通过这些信息了解应用程序是否符合最初的要求。

可以在脚本中的任意位置手动插入事务。将用户步骤标记为事务的方法是在事务的第一个步骤前面放置一个开始事务标记,并在最后一个步骤后面放置一个结束事务标记。在这一节,您将在脚本中插入一个事务来计算用户查找和确认航班所花费的时间。打开在第3 课中创建的脚本Basic_Tutorial。如果此脚本已经打开,可以选择显示其名称的选项卡。或者可以从“文件”菜单中打开该脚本。 (1) 插入事务

1. 打开事务创建向导

确保出现“任务”窗格。如果未出现,请单击任务按钮。在“任务”窗格的增强功能下单击事务。单击新建事务。将打开事务创建向导。

31

事务创建向导显示脚本中不同步骤的缩略图。单击新建事务按钮。现在您可以将事务标记拖放到脚本中的指定位置。向导会提示您插入事务的起始点。 2. 插入事务开始标志和事务结束的标志

使用鼠标将事务开括号拖到名为Search flights button 的第三个缩略图前面并单击将其放下。向导现在将提示您插入结束点。使用鼠标将事务闭括号拖到名为reservations.pl_2 的第五个缩略图后面并单击将其放下。

3. 指定事务名称

向导会提示您输入事务名称。输入find_confirm_flight并按Enter (回车)键。

32

现在已创建了一个新事务。可以通过将标记拖到脚本中的不同位置来调整事务的起始点或结束点。通过单击事务起始标记上方的现有名称并输入新名称,还可以重命名事务。

4. 在树视图中观察事务

6.2如何模拟多个用户

在模拟场景中,跟踪一位预订机票并选择靠近过道座位的用户。但在实际生活中,不同的用户会有不同的喜好习惯。要改进测试,需要检查当用户选择不同的座位首选项(靠近过道、靠窗或无)时,是否可以正常预订。为此需要对脚本进行参数化。这意味着您要将录制的值Aisle 替换为一个参数。将参数值放在参数文件中。运行脚本时,Vuser 从参数文件中取值(aisle、window或none),从而模拟真实的旅行社环境。

33

6.2.1参数化脚本

? 找到更改数据的部分

视图---树视图,在测试树中双击Submit Data: reservations.pl步骤。将打开“提交数据步骤属性”对话框。

? 将常量值更改为变量值

选择第七行中的seatPref。单击Aisle 旁边的ABC 图标。打开“选择或创建参数”对话框。

34

? 在参数名编辑字段中,输入seat。接受File 参数类型。单击确定。VuGen 将用参数图

标替换ABC 图标

? 单击{seat} 旁边的参数图标并选择参数属性。将打开“参数属性”对话框

? 指定示例值来更改数据

单击添加行-Add Row,用Window替换Value值,不区分大小写。 单击添加行- Add Row,用None替换Value值,不区分大小写。

35

? 定义测试更改数据的方式。接受默认设置,让VuGen 为每次迭代取顺序值而不是随机

值。

?选择下一行:顺序 ?值更新时间:每次迭代

? 单击关闭以关闭“参数属性”对话框,然后单击确定关闭“步骤属性”对话框。现在已

为座位首选项创建了参数。运行负载测试时,Vuser 将使用参数值,而不是录制的值Aisle。运行脚本时,回放日志会显示每次迭代发生的参数替换。请注意:第一次迭代时Vuser 选择Aisle,第二次迭代时选择Window。

36

6.3如何验证Web页面内容

运行测试时,常常需要验证某些内容是否出现在返回的页面上。内容检查验证脚本运行时 Web 页面上是否出现期望的信息。可以插入两种类型的内容检查:

? 文本检查。检查文本字符串是否出现在 Web 页面上。 ? 图像检查。检查图像是否出现在 Web 页面上。

6.3.1文本检查

以检查 Find Flight 是否出现在脚本中的订票页面上为例,添加文本检查。 1. 打开文本检查向导

确保出现“任务”窗格,如果未出现,请单击任务按钮Task,在任务窗格的增强功能下点击内容检查。内容检查向导打开,显示脚本中每个步骤的缩略图。

2. 选择工具栏上的HTML视图以显示缩略图的快照。

37

3. 选择包含待检查文本的页面,单击名为 reservations.pl 的第四个缩略图

4. 选择要检查的文本,突出显示快照内的文字,FindFlight(查找航班),然后右键单击并

选择添加文本检查---Web-Reg-Find,打开查找文本对话框,显示在查找选定内容框中选定的文本,单击确定。

5. 查看新步骤 在树视图(视图>树视图)中,您会看到 VuGen 在脚本中插入了一个新步骤Service: Reg Find。这一步注册文本检查, LoadRunner 将在运行步骤后检查文本。回放期间, VuGen 将查找文本 Find Flight 并在回放日志中指出是否找到。

38

6.4如何生成调试信息

在测试运行的某些时候,经常需要向输出设备发送消息,指出当前位置和其他信息。这些输出消息会出现在回放日志和 Controller 的输出窗口中。可以发送标准输出消息或指出发生错误的消息。要确定是否发出错误消息,建议先查找失败状态。如果状态为失败,就让VuGen发出错误消息。请参阅《HP LoadRunner Online Function Reference》中的示例。

下面以VuGen 在应用程序完成一次完整的预订后插入一条输出消息。

6.4.1插入输出消息

1. 选择一个位置,在树视图中选择最后一个步骤,Image:Sign Off Button,将在右边打

开快照。

2. 插入一条输出信息,选择插入----新建步骤(Insert---New Step),打开添加步骤对话框,

向下滚动并选择输出信息,然后单击确定。在形成的缩略图上单击可以修改缩略图的名称。

39

3. 输入消息信息,在消息文本框中输入The Flight Was Booked。

4. 点击工具栏上的保存按钮,保存脚本信息。

备注:要插入错误消息,可重复上述步骤,不同之处在于要在“添加步骤”对话框 中选择错误消息而不是输出消息。

40

6.5测试是否成功

在这一节,将运行增强的脚本并查看回放日志来检查文本和图像。您将查看文本和图像检查、事务以及参数化。默认情况下,由于图像检查需要占用更多内存,在回放期间会将其禁用。如果要执行图像检查,需要在运行时设置中启用此项检查。 1. 启用图像检查

打开“运行时设置”对话框(菜单:Vuser ---运行时设置),并选择Internet 协议:ContentCheck,选择启用图像和文本检查。单击确定关闭“运行时设置”对话框。

2. 运行脚本

单击运行或选择 Vuser >运行。VuGen 将开始运行脚本,同时在输出窗口中创建回放日志。等待脚本完成运行。备注:如果此时Hp Web Tours的服务没有开始,回放脚本或者说是运行脚本就是失败的,就是说被录制的脚本的哪个系统是可以正常访问的。

41

3. 查找文本检查

确保已打开输出窗口(视图>输出窗口)。在“回放日志”选项卡中,按CTRL+F打开“查找”对话框。查找web_reg_find。第一个实例如下:这不是实际的文本检查,而是让 VuGen 准备好在表单提交后检查文本。再次查找(按 F3) web_reg_find 的下一个实例。该实例如下所示:这说明文本已找到。如果有人更改了 Web 页面并删除了文字 Find Flight,那么在后续的运行中,输出消息会指出找不到这些文字。

4. 查找事务的起始点

在“回放日志”选项卡中,按 CTRL+F 打开“查找”对话框。搜索单词Transaction。该通知用蓝色显示。

5. 查看参数替换

在“回放日志”选项卡中,按 CTRL+F 打开“查找”对话框。搜索单词Parameter。日志包含通知“seat” = “Aisle”。再次搜索(按 F3)下一处替换。注意 VuGen 在每次迭代时如何替换不同的值。 6. 选择文件>保存或单击保存按钮

42

第七章创建负载测试场景

7.1Loadrunner11 Controller简介

负载测试是指在典型工作条件下测试应用程序,例如,多家旅行社同时在同一个机票预订系统中预订机票。

您需要设计测试来模拟真实情况。为此,您要能够在应用程序上生成较重负载,并安排向系统施加负载的时间(因为用户不会正好同时登录或退出系统)。您还需要模拟不同类型的用户活动和行为。

例如,一些用户可能使用 Netscape (而不是Internet Explorer)来查看应用程序的性能,并且可能使用不同的网络连接(例如调制解调器、DSL 或电缆)。您可以在场景中创建并保存这些设置。Controller 提供所有用于创建和运行测试的工具,帮助您准确模拟工作环境。 场景目标

这一章的目标是创建一个场景,模拟 10 家旅行社同时登录、搜索航班、购买机票、 查看航班路线并退出。

7.2如何启动Loadrunner11 Controller

1. 打开HP Loadrunner11

选择开始>程序> HP LoadRunner11> LoadRunner11。这时将打开HP LoadRunner11.00 窗口。 2. 打开Controller窗口

在LoadRunner11 Launcher 窗格中单击运行负载测试—RunLoadTests。将打开 HP LoadRunner11Controller。默认情况下 Controller 打开时会显示“新建场景”对话框。

43

3. 选择场景类型

?通过手动场景可以控制正在运行的 Vuser 数目及其运行时间,另外还可以测试出应用程序可以同时运行的 Vuser 数目。您可以使用百分比模式,根据业务分析员指定的百分比在脚本间分配所有的 Vuser。安装后首次启动 LoadRunner 时,默认选中百分比模式复选框。如果已选中该复选框,请取消选中。 ?面向目标的场景用来确定系统是否可以达到特定的目标。例如,您可以根据指定的事务响应时间或每秒点击数/事务数确定目标,然后 LoadRunner 会根据这些目标自动创建场景。您将在第九章“面向目标的高级场景”中创建面向目标的场景。此处选择手动场景。 4. 向负载测试添加脚本

在本教程中,将仅使用一个 Vuser 脚本来模拟一组执行相同操作的用户。要模拟具有更多种用户配置文件的真实场景,需要创建不同的组,运行带有不同用户设置的多个脚本。

先前在 VuGen 中录制的脚本包含要测试的业务流程。其中包括登录、搜索航班、购买机票、查看航班路线以及注销。您将向场景中添加类似的脚本,配置场景,模拟 8 家旅行社同时在机票预订系统中执行这些操作。测试期间将添加另外两个用户。

为此我们提供了一个与您创建的脚本相类似的脚本。建议您使用这个示例脚本。单击浏览按钮找到\\Tutorial 目录中的 basic_script。此脚本显示在可用脚本部分和场景中的脚本部分。单击确定。LoadRunner Controller 将在“设计”选项卡中打开您的场景。

44

7.3Controller窗口一览

Controller 窗口的设计选项卡分为三个主要部分: ?“场景组”窗格

?“服务水平协议”窗格 ?“场景计划”窗格

?“场景组”窗格。在“场景组”窗格中配置 Vuser 组。您可以创建代表系统中典型用户

的不同组,指定运行的 Vuser 数目以及运行时使用的计算机。

?“服务水平协议”窗格。设计负载测试场景时,可以为性能指标定义目标值或服务水平协

议 (SLA)。运行场景时, LoadRunner 收集并存储与性能相关的数据。分析运行情况时, Analysis 将这些数据与 SLA 进行比较,并为预先定义的测量指标确定 SLA 状态。您将在第十章中进一步了解 SLA。

?“场景计划”窗格。在“场景计划”窗格中,设置加压方式以准确模拟真实用户行为。可

以根据运行 Vuser 的计算机、将负载施加到应用程序的频率、负载测试持续时间以及负载停止方式来定义操作。

45

7.4如何修改脚本详细信息

1. 确保basic_script出现在“场景组”组名称列中。

2. 更改组名称

选择脚本并单击详细信息按钮,将打开组信息对话框。在组名称中输入一个更有意义的名称:travel _vagent

7.5如何生成重负载

添加脚本后,可以配置生成负载的计算机。Load Generator 是通过运行 Vuser 在应用程序中生成负载的计算机。可以使用多个Load Generator,并在每个 Load Generator 上运行多个 Vuser。在这一节,主要讲如何向场景添加 Load Generator,以及如何测试 Load Generator 连接。

1. 添加Load Generater

在设计选项卡中,添加Load Generator 按钮,将打开Load Generator对话框,显示名称为localhost的load generator的详细信息

46

在本教程中,你将使用本地计算机作为Load Generator (默认情况下包括在场景中)。localhost Load Generator 的状态为关闭。这说明Controller 未连接到LoadGenerator。

注:在典型的生产系统中,您将有若干个Load Generator,每一个拥有多个Vuser。 2. 测试Load Generator

运行场景时,Controller 自动连接到Load Generator。但您也可以在运行场景之前测试连接。选择localhost 并单击连接。Controller 会尝试连接到Load Generator 计算机。建立连接后,状态会从关闭变为就绪。单击关闭。

7.6如何模拟真实加压方式

添加Load Generator 后,就可以配置加压方式。典型用户不会正好同时登录和退出系统。LoadRunner 允许用户逐渐登录和退出系统。它还允许您确定场景持续时间和场景停止方式。下面将要配置的场景相对比较简单。但在设计更准确地反映现实情况的场景时,您可以定义更真实的Vuser活动。您可以在Controller 窗口的场景计划窗格中为手动场景配置加载行为。“场景计划”窗格分为三部分:计划定义区域、操作单元格和交互计划图。现在您可以更改默认负载设置并配置场景计划。

47

1. 选择计划类型和运行模式

在计划定义区域,确保选中计划方式的场景和运行模式的实际计划。

2. 设置计划操作定义

可以再单元格或者交互计划图中为场景计划设置启动Vuser,持续时间以及停止Vuser操作,在图中设置定义后,操作单元格中的属性会自动调整。现在设置,使操作单元格的数据如下显示

48

A:设置Vuser的初始化

初始化是指通过运行脚本中的 vuser_init 操作,为负载测试准备 Vuser LoadGenerator。在 Vuser 开始运行之前对其进行初始化可以减少 CPU 占用量,并有利于提供更加真实的结果。在“操作”单元格中双击初始化。这时将打开“编辑操作”对话框,显示初始化操作。选择同时初始化所有 Vuser。

B:指定逐渐开始(从“计划操作”单元格)。 通过按照一定的间隔启动Vuser,可以让Vuser 对应用程序施加的负载在测试过程中逐渐增加,帮助您准确找出系统响应时间开始变长的转折点。在“操作”单元格中双击启动Vuser。这时将打开“编辑操作”对话框,显示启动Vuser 操作。在开始X 个Vuser 框中,输入8 个Vuser 并选择第二个选项:每00:00:30(30 秒)启动2 个Vuser。

49

C:安排持续时间

您可以指定持续时间,确保Vuser 在特定的时间段内持续执行计划的操作,以便评测服务器上的持续负载。如果设置了持续时间,脚本会运行这段时间内所需的迭代次数,而不考虑脚本的运行时设置中所设置的迭代次数。通过单击交互计划图工具栏中的编辑模式按钮确保交互计划图处于编辑模式。

D:安排逐渐关闭

建议逐渐停止Vuser,以帮助在应用程序到达阈值后,检测内存漏洞并检查系统恢复情况。在“操作”单元格中双击停止Vuser。这时将打开“编辑操作”对话框,显示停止Vuser 操作。选择第二个选项并输入以下值:每隔00:00:30 (30 秒)停止2 个Vuser。

50

本文来源:https://www.bwwdw.com/article/11do.html

Top