《LoadRunner入门教程》由会员分享,可在线阅读,更多相关《LoadRunner入门教程(21页珍藏版)》请在金锄头文库上搜索。
1、LoadRunner 入门教程LoadRunner 安装1. 解压 LoadRunner 安装包2. 运行 setup.exe 文件3. 在弹出的窗口中点击 LoadRunner 完整安装程序4. 按照提示进行安装,需要注意的是安装路径不要有中文字符。LoadRunner 破解1. 解压 HP.LoadRunner 破解文件和说明压缩包2. 将解压后文件夹中的 lm70.dll 和 mlr5lprg.dll 两个文件复制到 loadrunner 安装路径的 bin 目录下并进行覆盖3. 执行 lr_Del_license(regedit).exe 删除 LoadRunner 注册码4. 打开
2、LoadRunner 界面5. 点击 configurationloadrunner license6. 此时在弹出的窗口下方点击 New License 按钮7. 在弹出的输入框中输入注册码:AEACFSJI-YJKJKJJKEJIJD-BCLBR,点击 OK 按钮8. 此时窗口中会显示添加的注册码信息,关闭窗口后就可以正常使用 LoadRunner了LoadRunner 简介LoadRunner 由四大组件组成:VuGen、控制器、负载发生器和分析器。1. VuGen 发生器:捕捉用户的业务流,并最终将其录制成一个脚本:(1) 选择相应的一种协议;(2) 在客户端模拟用户使用过程中的业务流
3、程,并录制成一个脚本;(3) 编辑脚本和设置 Run-Time Settings 项;(4) 编译脚本生成一个没有错误的可运行的脚本。2. 控制器(Controller):(5) 设计场景,包括手动场景设计和目标场景设计两种方式;(6) 场景监控,可以实时监控脚本的运行的情况。可以通过添加计数器来监控 Windows 资源、应用服务器和数据库使用情况。(7) 场景设计的目的是设计出一个最接近用户实际使用的场景,场景设计越接近用户使用的实际情况,测试出来的数据就越接近真实值。3. 负载发生器(Load Generators):模拟用户对服务器提交请求。(8) 通常,在性能测试过程中会将控制器和负
4、载发生器分开;当使用多台负载发生器时,一定要保证负载均衡(指在进行性能测试的过程中,保证每台负载发生器均匀地对服务器进行施压)。4分析器(Analysis ):主要用于对测试结果进行分析。LoadRunner 脚本录制脚本录制录制脚本共分为五步:新建脚本选择网络协议 设置录制模式脚本录制 脚本调试。新建脚本Loadrunner 选择协议分为单协议和多协议两种模式,如何选择由被测系统所用脚本决定,下面以主流的 http 单协议为例简单介绍下操作步骤(LoadRunner 中自带一个B/S 系统,在 Samplesweb 目录中点击 Start Web Service 即可启动该系统):在 Loa
5、dRunner 主界面点击 Create/Edit Scripts 即可打开 HP Virtual User Generator 组件;在新打开的窗口中点击 FileNew 按钮;选择协议在完成上一步后会弹出选择协议的窗口,选择 New Single Protocol Script(单协议) Popular Protocals 中的 Web(HTTP/Html )协议,然后点击 Create 按钮即完成协议选择;设置录制模式在完成协议选择后会弹出录制设置窗口,在 URL Address 中输入被测系统地址,然后点击 Options 按钮选择录制模式,在弹出的窗口中选择 Recording,可以
6、选择 HTML 和 URL 两种模式; 下面介绍下两种模式的区别:(1) HTML:HTML-mode 录制是缺省也是推荐的录制模式。它录制当前网页中的HTML 动作。在录制会话过程中不会录制所有的资源。在回放时,HTML-mode 脚本积极地解析返回的信息来获得要下载的资源。 HTML-based 方式对每个页面录制形成一条语句,对 LoadRunner 来说,在该模式下,访问一个页面,首先会与服务器之间建立一个连接获取页面的内容,然后从页面中分解得到其他的元素(component),然后建立几个连接分别获取相应的元素。 HTML-mode 是上下文敏感方式,因为它只能在先前请求的结果的上下
7、文之内执行。由于许多的 HTTP 请求数据都是从内存中取出来的,所以语句必须在正确的前个请求之后执行。 HTML-mode 录制的优点是: a. 资源从内存中取出且在回放时下载。因此,脚本比其他的录制方式更小且更容易阅读。b. 由于只有较少的硬编码脚本,因此只有较少的动态数值需要关联c. 可以插入图片检查之类的语句以检查结果是否正确。 d. 因为 HTML 模式回放时需要积极地解析返回的信息,因此它可能会比其他录制模式更加占用资源。然而,HTML 模式 record/replay 有相当大的改善,使得差异最小化且微不足道。(2) URLURL-mode 选项指导 VuGen 录制来自 serv
8、er 的所有的请求和资源。它自动录制每一个 HTTP 资源为 URL 的步骤。这种录制模式甚至抓取非HTML 应用程序,例如 applets 和非浏览器的应用程序。 URL-based 方式将每条客户端发出的请求录制成一条语句,对LoadRunner 来说,在该模式下,一条语句只建立一个到服务器的连接,LoadRunner 提供了 web_concurrent_start 和 web_concurrent_end 函数模拟 HTML-based 的工作方式。如何决定选择何种录制方式: 1、基于浏览器的应用程序推荐使用 HTML-Based Script。 2、不是基于浏览器的应用程序推荐使用
9、URL-Based Script。 3、如果基于浏览器的应用程序中包含了 Java Script,applet 等并且该脚本向服务器产生了请求,也要使用 URL-Based Script 方式录制。 4、基于浏览器的应用程序中使用了 HTTPS 安全协议,使用 URL-Based Script方式录制。 5、录制过程中不要使用浏览器的“后退”功能,LoadRunner 对其支持不太好。录制脚本在选择好录制模式后,在 Record into Action 里选择脚本放置模块, LoadRunner脚本分为三个模块:init、action、end,将主要测试业务放置在 action 中,init和
10、 end 分别只在脚本开始和结束时运行一次,action 可多次循环;选择好后点击 ok 按钮开始录制脚本,需要注意的是 LoadRunner11 仅支持到IE9;在录制过程中可以切换脚本模块,操作完成后点击结束按钮,LoadRunner 会自动生成脚本;窗口中的工具条的按钮从左到右分别为开始录制、回放、停止、暂停、检查语法、新增 Action、插入事务的开始、插入事务的结束、添加集合点、添加注释、运行时设置、添加检查点。脚本调试在脚本界面中点击红框的按钮检查脚本语法是否正确,若不报错即可点击回放按钮回放脚本查看服务器返回时候符合预期。在回放脚本时,有一个 runtime Setting(运行
11、时设置),由于在 Controller 中同样可以设置所以放到后面介绍。参数化Lr 中可以对参数进行动态赋值,以保证脚本运行正确。在脚本中,可以选择想要参数化的数据右键 Replace with Parameter 将其替换为参数。参数被保存在 Parameter List 中,单击 可以打开参数列表窗口。1. 参数类型Parameter type 表示参数类型,可从下拉列表中选择需要的类型2. 参数取值改变参数取值的方式在 Select next row 和 Update value on 这两个选项。Select next row 用于设置取值顺序,包含四个选项:Sequential 顺序
12、取值、Random 随机取值、Unique 唯一取值、Same lineas 取某个参数的同行。Update value on 用于设置何时改变参数取值,包含三个选项:Each iteration:每次迭代更新、Each occurrence:每次取值更新、Once :只更新一次。在不同的场景中需要设置不同的取值方式,下面的表格中简单总结一下取值的对应关系:Select next rowUpdate value onSequential Random UniqueEach iteration 每个用户数据相同 每个用户独立随机根据自动或者手动分配 block size 的方式获得每个用户的数据
13、块Each occurrence 每个用户数据相同 每个用户独立随机 根据手动设置分配每个用户的数据块Once 每个用户数据相同 每个用户独立随机 每个用户使用参数列表中的一个值当设置的参数值不够用时,可以通过 When out of values 来设置如何取值:Abort Vuser:退出该虚拟用户。Continue in a cyclic manner:循环使用参数值。Continue with last value:重复使用最后一个参数值。运行场景LoadRunner 中, Vugen 仅作用为脚本录制和编辑,实际的测试工作是在 Controller中完成的。在 Controller
14、可以设置不同的场景来应对不同的测试需求,越贴近真实用户行为的场景越能反应系统的实际处理能力,而运行场景实际上由 Controller 和 Load Generators 共同完成。Controller新建场景创建场景有两种方式:1. 通过 VuGen 直接转换当前脚本进入场景。点击 ToolsCreate Controller Scenario,就可以将当前脚本转化为场景;2. 在 LoadRunner 主界面中选择 Run Load Tests 即可打开 Controller,在弹出的窗口中从左侧的 AvailableScripts 选择测试脚本添加到右侧 Scripts in Scenar
15、io 中,点击 OK 按钮即可创建一个场景。场景类型场景分为目标场景和手工场景,两种场景用于不同目的的的测试。1. 目标场景(Goal Scenario)目标场景就是设置一个运行目标,通过 Controller 的 Auto Load 功能进行自动化负载,如果测试的结果达到目标则说明系统性能符合测试目标,否则就提示无法达到目标,在目标场景中一般只关心测试结果是否满足性能需求,常用于验收测试。选择目标场景需要在新建场景时选择 Goal-Oriented Scenario。2. 手工场景(Manual scenario)手工场景是通过人工设置虚拟用户的变化,通过设计用户的添加、运行和减少的过程来模
16、拟真实用户的请求,通过掌握场景运行过程中被测系统的资源使用情况来定位性能瓶颈并了解系统处理能力,一般在负载测试和压力测试中应用。场景设置目标场景在目标场景中最重要的就是目标类型,目标场景提供了五种目标,每种目标都有独立的设置。1. Virtual Users该参数表示虚拟用户数,这里只需要填写希望系统能够达到的用户数目即可。2. Hits per Second该参数表示每秒点击数,是指在一秒钟能做到的点击请求数目,即客户端产生的每秒请求数(正常情况下每秒点击数等同于服务器请求响应数)。除了要设置点击的指标,还需要设置在线用户的上下限,场景运行时会自动调整用户数来测试在一定的用户范围内系统是否都能达到定义的目标。3. Transactions per Second(TPS)该参数表示每秒事务数,一个事务代表完成一个操作,每秒事务数反映了系统的处理能力。当脚本中含有事务函数时才可以使用,这里需要制定事务名称、TPS 指标以及需要完成该指标的用户数