loadrunner性能脚本的常用设置
- 格式:doc
- 大小:1.41 MB
- 文档页数:16
Load Runner 使用说明一、组件:(一) VuGen:用于捕获最终用户业务流程和创建怎动化性能测试脚本。
1. 录制脚本:(1) 集合点Rendezvous(2) 验证点Check Point:文本验证点Text Check、图片验证点Image Check(3) 事务Transaction:事务开始Start Transaction、事务结束End Transaction(4) 注释与消息Comment & Message:/***/2. 增强并编辑Vuser脚本(1) 参数化:在Select next now中的参数:Sequential顺序、Random随机、Unique唯一在Update value on 参数:Each iteration每次迭代、Each occurrence每次出现、Once 一次(2) 从数据库中导入数据3. 配置动行时设置Runtime settings(运行时设置)(1) Number of Iterations:迭代次数(2) 在Preferences中的Enable image and text check在脚本中添加验证点时必须选中。
4. 在独立模式下运行Vuser脚本5. 集成Vuser脚本(二) Controller:用于组织、驱动、管理和监控负载测试。
1. 创建方案(1) 创建手动方案(2) 创建百分比模式方案(3) 创建面向目标的方案2. 计划方案(1) 开始时间(2) 方案运行设置:加压Ramp Up、持续时间Duration、减压Ramp Dowm3. 运行方案4. 监视方案(1) RuntimeGraphs(运行时图)A. Running Vusers运行时图:Running正在运行的Vuser总数、Ready完成脚本初始化部分、即可以运行的Vuser数、Finished结束运行的Vuser数,包括通过的和失败的、Error执行时发生的错误VuserB. Transaction Graphs事务监视图:Trans Response Time事务响应时间、Trans/Sec(Passed)每秒事务数(通过)、Trans/Sec(Failed/Stopped)每秒事务数(失败、停止)、Total Trans/Sec(Passed)每秒事务总数(通过)。
LoadRunner脚本录制常见问题整理1.LoadRunner录制脚本时为什么不弹出IE浏览器?当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。
启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen 即可解决问题提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。
因此建议运行LoadRunner得主机上保持一个干净的测试环境。
1.Loadrunner录制脚本时无法正确打开IE或打开IE时无响应进行如下设置可排除问题:1、设置默认浏览器为IE;2、IE已禁用第三方浏览器扩展;3、Loadrunner中Run-time Setting 的User-agent设置正确;4、Start Recording中IE路径和Program to record也正确。
2.录制Web脚本时,生成的脚本中存在乱码该如何解决?录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选“Support charset”,然后选择中支持UTF-8。
再次录制,就不会出现中文乱码问题了。
3.HTML-based script与URL-based script的脚本有什么区别?使用“HTML-based script”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;使用“URL-based script”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。
通常,基于浏览器的Web应用会使用“HTML-based script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了HTTPS 安全协议,这时使用“URL-based script”模式进行录制。
LoadRunner设置检查点的几种方法介绍前段时间在群里跟大家讨论一个关于性能测试的问题,谈到如何评估测试结果,有一个朋友谈到规范问题,让我颇有感触,他说他们公司每次执行压力测试的时候,都要求脚本中必须有检查点存在,不然测试结果将不被认可,这是他们公司的规范。
其实,在做压力测试过程,我们很容易忽略很多东西,而且随着自身的技术演变,我们很容易去丢失掉一些很好的习惯,当我们再碰到这些问题的时候,我们才发现其实是我们太粗心大意了,所以说好的习惯要保持。
这次我刚好也要接手一些性能工作,因此就如何规范设置检查点来谈谈一些基本的流程和方法。
使用LoadRunner做压力测试,大致如下几个流程:1、明确测试目标2、录制测试脚本3、脚本优化、调试4、场景运行5、分析测试结果当然这里都是概况性的标题,但从这里我们可以明确的是测试脚本是整个压力测试过程中的重点步骤,如果测试脚本都不能确保正确与否,后面的测试过程就无从说起了。
很多时候我们把脚本调试就简单的认为是脚本回放没有错误就认为脚本是没有问题的,这当然不能这么肯定,脚本调试是一个非常严谨的过程,我大致归纳如下几步:1、明确每一行脚本的作用,也就是说每一行脚本执行的功能是什么;2、删减不需要的脚本语句,比如在录制过程由于LR默认设置导致录制之后出现很多冗余的脚本,这些个脚本对我们的测试过程没有用途的应该删除掉,至于哪些是冗余就要具体分析了,所以说脚本录制完之后要分析脚本运行的过程,方能理解脚本执行的用途,不然在后面施压时运行错误,就会开始到处找问题,而又找不出问题;3、查找存在的关联并进行相关设置4、设置检查点,设置检查点的目的就是为了验证页面每次运行之后是否正确,设置检查点的过程总要通过不能的回放来进行验证检查点设置是否正确。
5、通过测试目标明确脚本执行的目标事务,并添加事务;6、对需要进行并打操作的功能设置集合点7、根据实际情况设置ThinkTime8、在以上所有脚本调试步骤完成之后,设置迭代次数,通过在Vuser中设置多次迭代来验证脚本在多次循环运行时是否存在错误注意:在Vuser中运行和回放脚本的过程,要密切关注replay log,也就是回放日志,很多问题通常都暴露在回放日志中,只不过我们没有认真去检查,所以没发觉。
Loadrunner中参数的设置(五篇模版)第一篇:Loadrunner中参数的设置Loadrunner中参数的设置在做负载或者压力测试时,很多人选择使用了Loadrunner测试工具。
该工具的基本流程是先将用户的实际操作录制成脚本,然后产生数千个虚拟用户运行脚本(虚拟用户可以分布在局域网中不同的PC 机上),最后生成相关的报告以及分析图。
但是在录制脚本的过程中会遇到很多实际的问题,比如不同的用户有不同的使用数据,这就牵涉到参数的设置问题。
本文就Loadrunner中参数的设置进行说明,希望对大家有所帮助。
录制程序运行的过程中,VuGen(脚本生成器)自动生成了包含录制过程中实际用到的数值的脚本。
如果你企图在录制的脚本中使用不同的数值执行脚本的活动(如查询、提交等等),那么你必须用参数值取代录制的数值。
这个过程称为参数化脚本。
本文主要包括如下内容:理解参数的局限性、建立参数、定义参数的属性、理解参数的类型、为局部数据类型设置参数的属性、为数据文件设置参数的属性、从已经存在的数据库中引入数据。
除了GUI,以下的内容适合于各种类型的用户脚本。
一、关于参数的定义在你录制程序运行的过程中,脚本生成器自动生成由函数组成的用户脚本。
函数中参数的值就是在录制过程中输入的实际值。
例如,你录制了一个Web应用程序的脚本。
脚本生成器生成了一个声明,该声明搜索名称为“UNIX”的图书的数据库。
当你用多个虚拟用户和迭代回放脚本时,也许你不想重复使用相同的值“UNIX”。
那么,你就可以用参数来取代这个常量。
结果就是你可以用指定的数据源的数值来取代参数值。
数据源可以是一个文件,也可以是内部产生的变量。
用参数表示用户的脚本有两个优点:① 可以使脚本的长度变短。
② 可以使用不同的数值来测试你的脚本。
例如,如果你企图搜索不同名称的图书,你仅仅需要写提交函数一次。
在回放的过程中,你可以使用不同的参数值,而不只搜索一个特定名称的值。
LoadRunner设置集合点集合点的用处对于LoadRunner来说意义非常大,它可以设置多个虚拟用户等待到一个点,同时触发一个事务,以达到模拟真实环境下同时多个用户操作,同时模拟负载,实现性能测试的最终目的。
由此可见,插入集合点主要是为了衡量在加重负载的情况下服务器的性能情况。
举例如下:在客户的需求中,可能会要求系统能够承受1000人同时提交数据。
在LoadRunner中可以通过在提交数据操作前面加入集合点,当虚拟用户运行到提交数据的集合点时,Loadrunner就会检查同时有多少用户运行到集合点,如果我们设定脚本运行的虚拟用户数为1000,等到这1000个虚拟用户都运行到集合点后,就会触发同时进行提交数据的操作,从而能够测试系统对于这1000个用户提交数据的响应情况,依次来看系统是否满足客户的该点需求。
1、集合点插入方法:1. 录制时,在需要并发操作的事务前直接点击插入集合的按钮;2. 录制后,录制的脚本中,在并发操作事务提交前插入,点击右键,选择,然后选择后面出现的,输入集合名称,脚本中出现,即添加集合点成功;备注:集合点只能插入到Action部分,vuser_init和vuser_end中不能插入集合点。
如果想要测试系统所能支持同时登录的用户数,登录的事务要写入到Action中,然后插入集合点进行测试。
2、插入集合点集合点只能在Action中插入,不能在vuser_init或vuser_end中插入。
在需要插入集合点的操作前,通过工具栏上的集合点按钮插入集合点,并在集合点的输入框中输入集合点的名称。
集合点的名称最好是有意义的名称,这样有助于在系统分析时,分析系统的瓶颈所在。
插入集合点具体的操作方法如下:在录制Vuser脚本时,在需要插入集合点的位置,单击'录制'工具栏上的'集合点'按钮或单击'Insert'菜单下的'Rendezvous'子菜单。
目录1、Loadrunner场景设置---------用户逐渐递增的场景2、Loadrunner场景设置---------思考时间和随机时间的取值方法3、Loadrunner场景设置---------集合点的作用(实现并发访问的目的)4、Loadrunner场景设置---------事务的作用(反映响应时间评价性能)5、Loadrunner场景设置---------使用事务的原因6、Loadrunner场景设置---------事务的使用方法Loadrunner场景设置---------用户逐渐递增的场景方法一:(网络来源)在设置LoadRunner测试场景时,很多时候都需要设置用户逐渐递增的场景。
可能大家通常的做法都是逐步增加用户数,并且分成多次去运行场景,比如第一次运行用100用户,第二次用200用户,第三次用300用户等等。
其实,还可以有另外一种方法,就是针对同一个脚本设置多个组,使用组策略(点击Edit Schedule按钮,选择Schedule by Group),第一个组为初始用户数,如100,第二个组以50或100递增(并不是第一个组100,第二个组200,第三个组300,而是在递增的时候设置递增数)。
每个用户场景都持续稳定地运行一段时间,这样可以把几种用户场景下的测试在一次场景的运行过程中就一次性执行完毕,而且还有一个好处是可以把多个用户场景下的性能结果都整合到同一个结果中,也方便对比、分析。
Loadrunner场景设置---------思考时间和随机时间的取值方法如果录制思考时间是4秒,那么随机时间可以是2-6之间的任意值,即随机时间的取值在录制思考时间的50%到150%之间。
Loadrunner场景设置---------集合点的作用(实现并发访问的目的)集合点(Rendezvous)就是一个并发访问的点,在测试计划中,可能会要求系统能够承受1000 人同时提交数据,在LoadRunner 中可以通过在提交数据操作前面加入集合点,这样当零散的虚拟用户运行到提交数据的集合点时,LoadRunner 就会检查同时有多少用户运行到集合点,如果不到1000 人,LoadRunner 就会命令已经到集合点的用户在此等待,当在集合点等待的用户达到1000 人时,LoadRunner 命令1000 人同时去提交数据,并发访问的目的。
LoadRunner使用教程1. 了解LoadRunner1.1 Loadrunner简介LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。
通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。
通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。
难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢、系统崩溃等问题。
这些都不可避免地导致公司收益的损失。
Mercury Interactive 的LoadRunner 能让企业保护自己的收入来源,无需购置额外硬件而最大限度地利用现有的IT 资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。
LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。
LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。
此外,LoadRunner 能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。
1.2 为什么应进行自动性能测试?自动性能测试是一项规范,它利用有关产品、人员和过程的信息来减少应用程序、升级程序或修补程序部署中的风险。
自动性能测试的核心原理是通过将生产时的工作量应用于预部署系统来衡量系统性能和最终用户体验。
构造严密的性能测试可回答如下问题:➤应用程序是否能够很快地响应用户的要求?➤应用程序是否能处理预期的用户负载并具有盈余能力?➤应用程序是否能处理业务所需的事务数量?➤在预期和非预期的用户负载下,应用程序是否稳定?➤是否能确保用户在真正使用软件时获得积极的体验?通过回答以上问题,自动性能测试可以量化更改业务指标所产生的影响。
使用LoadRunner进行性能自动化测试的方法和技巧LoadRunner是一款常用的性能测试工具,它可以模拟多种负载条件下的应用程序行为,帮助开发人员检测和解决性能问题。
本文将介绍使用LoadRunner进行性能自动化测试的方法和技巧,帮助读者更好地利用LoadRunner提升应用程序的性能。
一、LoadRunner简介LoadRunner是由Micro Focus公司开发的一款性能测试工具,它可以模拟多种负载条件下的应用程序行为,帮助开发人员评估应用程序的性能与稳定性。
LoadRunner提供了丰富的功能和工具,包括脚本录制、负载生成、性能监控和报告分析等,可用于测试各类应用程序,如Web应用、移动应用和企业应用等。
二、性能自动化测试的基本步骤1. 确定测试目标和需求:在进行性能自动化测试之前,需要明确测试目标和需求,例如确定负载要求、并发用户数、响应时间等指标,以便后续的测试设计和执行。
2. 脚本录制与回放:LoadRunner提供了脚本录制功能,可以通过录制用户在应用程序上的操作来生成测试脚本。
在录制完成后,可以使用脚本回放功能对录制的操作进行模拟,以验证应用程序在负载条件下的性能表现。
3. 参数化和数据驱动:在进行性能测试时,往往需要模拟多个用户的行为。
为了实现这一目标,可以通过参数化和数据驱动的方式来设置不同用户之间的差异。
LoadRunner提供了参数化工具和数据驱动功能,可以轻松地设置和管理测试数据。
4. 脚本调优和编辑:在录制和回放过程中,可能会出现一些不必要或重复的操作,这会影响测试的准确性和效率。
通过对脚本的调优和编辑,可以剔除不必要的操作,减少脚本的体积和执行时间。
5. 负载生成和分析:LoadRunner提供了多种负载测试模式,可以模拟不同负载条件下的应用程序性能。
通过调整负载模式和负载参数,可以对应用程序进行不同负载场景的测试。
测试完成后,可以使用LoadRunner提供的分析工具对测试结果进行统计和分析,以便找出性能问题和瓶颈。
负载测试使用说明1. 打开运行 (2)2. 基本操作 (2)3. 创建负载测试脚本 (3)3.1. 新建脚本 (3)3.2. 录制并生成脚本 (5)4. 负载测试 (6)4.1. 打开负载测试界面 (6)4.2. 参数设置 (6)4.3. 运行测试 (7)4.4. 生成测试报告 (8)5. 常见问题解决方法 (9)5.1. 错误提示一:Cannot Save the license information (9)5.2. 错误提示二:LoadRunner Controller cannot create Vusers (10)1.打开运行安装成功后打开LoadRunner.exe,主界面如图1-1所示。
图1-12.基本操作主界面左上角是测试软件的基本操作,分为3个模块,如图2-1:图2-1从上而下依次为Create/Edit Script 创建/编辑脚本,创建空白的脚本文件并记录测试的过程,以便该使软件能够重复执行测试。
Run Load Tests 运行负载测试,用上面生成的脚本记录进行负载测试。
Analyze Test Results分析测试结果,对负载测试的结果警醒分析3.创建负载测试脚本要进行负载测试首先要创建脚本,那么我们就先点一下Create/Edit Scrip,弹出如图3-1所示:图3-1在左上角有一排按钮,这是创建脚本的基本操作如图:图3-2从左至右依次为New Script 新建空白脚本Open Existing Script 打开已存在的脚本Create Script From Template 根据模板创建脚本Protocol Advisor方案顾问(这个估计永远用不到所以无视)3.1.新建脚本点击New Script探出对话框,如图:图3-3这里可以创建各种类型的脚本,在左侧选取第二个New Multiple Protocol Script这次是测试网页的负载测试,那么我们选Web(HTTP/HTML) ,鼠标双击或按中间的黑色箭头把这一项加到右侧列表中,如下图所示,最后点击Create完成新建脚本操作。
General一般的设置1、Script脚本选项默认情况下,Loadrunner的脚本是使用C语言作为标准的,在不同的协议下,所支持的语言也不相同,对于WEB(HTTP/HTML)协议,只支持C语言。
Close all AUT processes when recording stops当VuGen停止录制时,自动关闭所有活动的应用程序进程Generate fixed think time after end transaction在每个结束事务后都添加一个固定的思考时间Generate recorded events log描述所有捕获的事件并生成报告Generate think time greater than threshold如果用户超过指定的界限,那么插入用户思考时间Maximum number of lines in action file如果一个action录制的行数超过指定的界限,那么创建一个新的文件Track processes created as COM local servers如果录制的一个应用程序的子进程创建为一个COM本地服务器,追踪它的活动2、Protocols协议协议列表,在这里列出所有的协议,我们可以通过协议前得选项来决定使用不同协议来录制脚本。
3、Recording录制选项录制选项,我们选用什么样的录制方式,这里提供了两个大类的录制方式:HTML-based script基于HTML的脚本这种方式录制出来的脚本是基于HTML基础的。
一般来说如果我们是标准使用IE访问的B/S 架构,我们应该使用HTML-BASE下的A script. containing explicit URLs only方式来录制脚本,这种脚本基于URL请求完成,不会带有任何前后依赖的内容。
A script. describing user actions(web_link,web_submit_form)基于解释用户行为的脚本,注重描述用户做了什么操作类似于QTP,脚本简洁,基于用户操作模拟,浅显易懂,并且自身就包含了对象检查过程,无需校验A script. containing explicit URLs only(web_url,web_submit_data)基于URL请求的脚本录制类型,这种方式不考虑用户的操作,只考虑客户端发送的请求,注重于实际上系统做了什么URL-based script基于URL的脚本这种方式录制出来的脚本是基于URL请求的。
LoadRunner性能测试工具使用指导书拟制: 审核: 审核: 批准:日期:日期:日期:日期:LoadRunner性能测试工具使用指导书目录1 概述 ........................................................................... ............................................................... 3 2 使用指导 ........................................................................... ........................................................ 3 2.1 安装LoadRunner ................................................................... ............................................. 3 2.2 使用LoadRunner 对Web 应用进行负载/压力测试 ............................................................4 2.2.1 制定测试方案: .......................................................................... ..................................... 5 2.2.2 制创建虚拟用户脚本: .......................................................................... .......................... 5 2.2.3 创建运行场景: .......................................................................... ................................... 27 2.2.4 利用Analysis 分析结果: .......................................................................... .................... 39 2.3 经常遇到的问题 ........................................................................... ..................................... 49 2.3.1 Controller的问题 ........................................................................... .............................. 49 2.3.2 计数器的问题 ........................................................................... .. (50)第2页,共50页LoadRunner性能测试工具使用指导书1 概述LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。
LOADRUNNER使用手册文档作者:创建日期:更新日期:文档编码:文档版本: V1.0审批签字:IBM项目经理项目经理文档控制变更记录21审阅分发目录文档控制 (1)概述 (3)软件 (3)使用说明 (3)脚本运行前参数设置 (3)录制脚本 (8)脚本运行前设置 (12)运行 (18)其他 .................................................................................................. 错误!未定义书签。
常见问题 (18)概述LoadRunner是一种预测系统行为和性能的负载测试工具。
其性能测试的一个基本功能是将准备好的数据按录制好的测试脚本写入系统以测试系统负载。
ERP上线初期有大量的静态基础数据的设置需要设置,可以利用LoadRunner工具来设置。
软件操作系统Windows操作系统。
软件版本1.LoadRunner 8.1由于Loadrunner9.0安装比较复杂,本文只讲述8.1版本的使用。
安装及使用软件安装按默认选项设置即可使用说明脚本运行前参数设置软件安装按默认设置,此处不详述安装完之后,打开Loadrunner工作台如下点击Create/Edit Scripts (或者通过Applications—Virtual User Generator进入)点击File—New点击New single protocol Script,Category选择ERP/CRM然后选择Oracle NCA参数设置如下:Program to Record,选择运行ERP所用的浏览器URL Address,是ERP的Form方式登陆地址Working Directory,脚本保存的默认路径Record into Action,脚本分开始、动作和结尾三部分,脚本录制选择从Vuser_ini开始录制接着点击Options 进行选项配置Script设置按默认选项Protocols设置注意:勾上Oracle NCA 和Web(HTTP/HTML)协议Port Mapping 设置按默认选项Recording设置勾选Html-based script . HTML Advanced…设置按默认Advanced 设置Headers、Content Types、Non-Resources 三个设置按默认Correlation设置选择Oracle, OracleApps设置完毕点击OK。
6.loadrunner性能测试之录制设置前⾔:此篇介绍vugen的⼀些录制配置
⼀、Vugen起始页
A.新建⼀个脚本
B.打开⼀个脚本
C.使⽤模板打开⼀个脚本
D.协议分析器,可以使⽤该⼯具分析协议不清楚的项⽬
⼆、录制设置
1 A.位置:⼯具栏-start record -选项
2⼯具栏-recording(Ctrl+F7)
3 B.配置:.要录制的程序LR11需要⽤到32位的IE11浏览器
4 .URL地址填写要录制的地址,也可程序运⾏后打开浏览器在浏览器中填写
5 .录制到操作:Vuser_init与Vuser_end开始与结束操作只运⾏⼀次,压测的代码要放在Action中
三、录制选项Recording Options
3.1.HTML⽅式录制:General-Recording-HTML(默认选择web_submit_data)
3.2. URL⽅式录制:General-Recording-URL(适合⾮浏览器程序,https程序,页⾯js程序)
3.3.录制乱码:HTTP Properties-Adcanced-Support charset-UTF-8
3.4.端⼝映射:设置代理录制⽅式,参靠上⾯代理录制
3.5.关联:后⾯章节详细讲解
四、录制时⼯具
A区:开始录制-运⾏-停⽌录制-暂停录制-编译-选择活动
B区:新建活动-插⼊开始事务-插⼊结束事务-插⼊集合点
C区:插⼊注释-编辑录制选项-插⼊⽂本检查。
loadrunner 参数化取值方式LoadRunner 是一款流行的性能测试工具,它具有灵活和强大的参数化功能,使用户能够对测试场景中的各种数据进行有效管理。
在LoadRunner 中,参数化是一种将实际值替换为参数的过程,以模拟用户在测试过程中产生的不同数据。
在参数化过程中,用户可以使用多种方式来获取参数的值。
他们可以通过手动输入、使用函数或者从外部文件中读取参数值。
本文将详细介绍LoadRunner 中几种常用的参数化取值方式,并逐步说明如何使用中括号来实现这些方式。
1. 手动输入参数值这是最简单的参数化方式,用户只需在LoadRunner 脚本中直接输入参数的值。
例如,假设我们要测试一个登录功能,用户名和密码是两个参数,我们可以这样设置参数值:char* username = "testUser";char* password = "testPassword";这种方式适用于参数值稳定不变的情况,但一旦参数值发生变化,就需要手动修改脚本。
2. 使用函数获取参数值LoadRunner 有许多内置函数可以用来获取参数的值,例如lr_eval_string、lr_paramarr_random 等。
这些函数可以在脚本运行时动态生成参数值,使得测试数据更加真实和多样化。
下面是一个使用lr_eval_string 函数获取参数值的示例:char* username = lr_eval_string("{Param_username}");char* password = lr_eval_string("{Param_password}");在上述示例中,{Param_username} 和{Param_password} 是用户在LoadRunner GUI 中定义的参数名,函数lr_eval_string 会返回这些参数的实际值。
一、Loadrunner简介LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具..通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题;LoadRunner 能够对整个企业架构进行测试..通过使用LoadRunner;企业能最大限度地缩短测试时间; 优化性能和加速应用系统的发布周期..目前企业的网络应用环境都必须支持大量用户;网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品..难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢; 系统崩溃等问题..这些都不可避免地导致公司收益的损失..Mercury Interactive 的LoadRunner 能让企业保护自己的收入来源; 无需购置额外硬件而最大限度地利用现有的IT 资源; 并确保终端用户在应用系统的各个环节中对其测试应用的质量; 可靠性和可扩展性都有良好的评价..LoadRunner 是一种适用于各种体系架构的自动负载测试工具; 它能预测系统行为并优化系统性能..LoadRunner 的测试对象是整个企业的系统;它通过模拟实际用户的操作行为和实行实时性能监测; 来帮助您更快的查找和发现问题..此外;LoadRunner 能支持广范的协议和技术;为您的特殊环境提供特殊的解决方案..负载测试通常由五个阶段组成:计划、脚本创建、场景定义、场景执行和结果分析.. .(1) 计划负载测试:定义性能测试要求;例如并发用户的数量、典型业务流程和所需响应时间.. .(2) 创建Vuser 脚本:将最终用户活动捕获到自动脚本中..选择协议录制脚本编辑脚本检查修改脚本是否有误(3) 定义场景:使用LoadRunner Controller 设置负载测试环境..创建场景Scenario选择脚本设置机器虚拟用户数设置Schedule 场景计划表如果模拟多机测试;设置Ip Spoofer ip 欺骗(4) 运行场景:通过LoadRunner Controller 驱动、管理和监控负载测试..(5) 分析结果:使用LoadRunner Analysis 创建图和报告并评估性能..LoadRunner 分为Windows 版本和Unix 版本..如果我们的所有测试环境基于Windows 平台; 那么我们只要安装Windows 版本即可..本章讲解的安装过程就是LoadRunner11英文的Windows xp 版本的安装..系统要求:测试机和工作机可以满足LoadRunner11 的最低要求..不过要比较好的运行LoadRunner; 内存最好在512M 以上; 安装LoadRunner 的磁盘空间至少剩余500M..Loadrunner有7.5、8.0、8.2、8.3、9.2、9.5和11等版本其中从9.2版本开始支持IE7及以上的浏览器;9.2以下的只支持IE6的..二. Loadrunner11安装和运行环境8、点击“New License”;输入web-10000的注册码:AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB..OK再次成功..四、Loadrunner的运行双击打开Loadrunner程序Win7和Vista中需要在图标上右击鼠标选择以管理员身份运行..左侧依次为录制编辑脚本文件;运行脚本文件和分析负载结果..我们点击第一项创建和录制脚本进入后点击新建脚本由于是WEB测试所以选择HTTP模式.点击Create按钮在这个窗口中主要有录制的类型这里选择网络程序;如果是本地的选择WIN32程序;第二个选择默认值“浏览器”;第三个是输入要录制的URL连接;第四个输入保存脚本的路径;第五个是默认名称;可以点击NEW修改..设置好路径和要录制的URL后点击OK 后开始录制脚本注:如果录制脚本中中文显示乱码;则需要对LR进行设置1、Tools ——Recording Options在回放脚本之前:Vuser-->运行时设置-->浏览器-->浏览器仿真-->更改-->使用浏览器-->语言下来选择“中文中国”;2、设置录制脚本的执行的次数点击Tools——Run-time Setting—General—Run Logic打开设置窗口注:如果脚本中用户名参数化;如果写入的人员都需要执行;有几个用户写执行几次;编码中如果存在多个参数化字段;将第一个跟其他的参数化字段合并注:如果录制脚本中增加了参数化或设置了关联;需要在录制脚本Vuser——Run time Setting 下设置“miscellaneous中选择difine each action as a transaction”定义任意一个活动为一个事务;如不设置则运行脚本时通过事务数、失败事务数、错误数均显示0注意:参数化脚本如流水号、文号中如果选择Unique Number唯一值;使用该类型必须注意数据表中有足够的数据..比如在Controller中设定20个虚拟用户进行5次循环;那么编号为1的虚拟用户取前5个数;编号为2的虚拟用户取6-10的数;依次类推;数据表中至少有100个数据;否则Controller 运行中会返回一个错误..例如:Error: Parameter 'num2': All values in unique block already used. Block size is 10. The parameter continues with last value of the range according to "When Out Of Values" policy.3、运行脚本Manual Scenario为手工场景其中“使用百分比模式运行”可以勾选也可以不勾选Goal-Oriented Scenario面向目标的场景注意不要选择该项;该项是验证系统能否达到预期目标;适用场合等有明确的目标;如验收测试然后选择一个录制好的脚本如send071802.1点击Add添加进来添加后可以进行运行的时间设定可以设置初始用户数量;可以设定增加用户的间隔比如每隔10S增加一个用户..达到最大用户数量后持续运行多长时间比如达到10个人同时访问后持续运行10分钟.可以选择单个用户还是以组的形式运行;同时可以设置“服务水平协议”SLA;设定性能测试的目标;便于确定是否达标点击左下角的RUN按钮可以看见正在运行脚本曲线状态图:运行用户数事物的响应时间点击率4、运行结果点击左下角的Design按钮可以看见整个脚本运行过程的系统负载图可以直观了解到当前系统的负载情况.上图左侧的边栏显示的是每一个图表的包含信息如平均响应时间图表中就含有多长时间刷新一次图表;右边是同时显示4个图;通过选项可以显示1;2;4;8个图表;如下图所示.还可以自定义显示“Custom Number”;如显示3个或6个图表..注:如果需要生成web资源图;则需要下图中的配置Running Vusers:运行的虚拟用户数Elapsed Time:运行时间Hits/Second:平均点击数Passed Transaction:通过事务数Failed Transaction:失败事务数Errors:错误数左边图片是运行控制栏可以控制脚本的运行;暂停;继续和重置查看每一个事物等操作.右边的图显示的是正在运行脚本的结果可以看到有运行的时间平均的响应时间;有多少运行成功;多少失败还有有多少是有错误..5、分析结果测试完毕后系统会给出每一个事物的详细结果..如平均的响应时间;CUP和内存的占有率;系统的负载情况点击上方的不同标签可以查看不同的结果如图看到的是统计运行的成功和失败图表.但是如何设置好start 和Block size per Vuser这也是一门学问;设置不好就会出现数字不够用的情况;刚开始我就在这块走了很多弯路;经过百度发现如果一下个公式供大家参考:设:块大小设置为:Bblock;起始值为:Sstart;当前用户为:Nnumber;当前取值为Vvalue则:V = B*N-1+SLoadRunner参数类型的含义:Date/Time:运行时;参数用脚本执行时的日期和时间来代替Group Name:运行时;参数用执行脚本的VU所属组的名称来代替Iteration Number:运行时;参数用脚本执行的当前迭代次数来代替Load Generator Name:运行时;参数用产生执行脚本VU的负载产生器Load Generator的名称来代替Random Number:运行时;参数用一个随机的整数来代替Unique Number:运行时;参数用一个唯一的整数来代替Vuser ID:运行时;参数用Controller应用为每个VU分配唯一的ID来代替Data File/Table:最常用的参数类型;二者基本相同;均可以利用数据文件为参数提供数据池;并设置参数依据某种规则从数据池中取出数据代替脚本中的参数User-Defined Functions:LoadRunner保留的一个扩展接口Each Iteration;表示在每次迭代时更新参数的值;Each Occurrence;表示在参数每次出现时更新参数的值;Once;表示VU在执行的时候;只在第一次迭代时为参数取一次值;以后每次迭代使用相同的值..其中;对Each Iteration而言;一个VU执行时;每次迭代时更新参数的值;如果在一个迭代过程中某参数出现了多次;参数取相同的值;而对Each Occurrence而言;如果在一个迭代过程中某参数出现了多次;每次都取不同的之.. When out of values选项只在Select next row设置为Unique时才有效;当数据池中的数据量不能支持迭代和Unique要求的数据量时;可以通过设置该选项的值指示LoadRunner的处理方法:设置为Abort VUser;则遇到这种情况;VU停止运行;设置为Continue in a cyclic manner;则遇到这种情况;重新从数据池的第一个取值开始循环;设置为Continue with lastvalue;则遇到这种情况;所有不足的取值都用最后一个取值来代替..只要将Select next row设置为Sequential;Update value on设置为Each Occurrence即可..Sequential:虚拟用户 Vuser 按照行顺序的进行读取参数文件中的数据;如果参数文件中没有足够的数据;则返回到第一个值;并一直循环到结束..例:如上图我们这里有测试1、测试2、测试3 三个数据;假设我们有 5 个Vuser;那么第 1 个 Vuser 读到的参数为测试1;于此类推;到第 4 个Vuser 的时候; 这里表中已经没有数据了; 于是又从第一个数据开始读取; 故第4 个 Vuser读到的数据是测试1;第 5 个 Vuser读到的数据是测试2..注:运行脚本时建议关闭360安全卫士;否则可能提示超时..六、结果分析1、结果集中默认显示2、Summary Report详解1)概要整体信息上图所示为待分析的性能场景的基本信息..例如场景持续的时间是13分钟16秒;相应文件的名称和存放位置..2)统计信息概要从上图可知:最大运行用户:40平均吞吐量:13027124B/s总点击次数:730208平均点击次数:916.196单击相应的超链接查看详细信息..3)N个执行情况最差的事务针对“事务超出SLA阈值的比率及超出比率的幅度”而言执行最差的事务..相对于SLA阈值;send_transaction 事务的持续时间超出了38.71%;整个运行期间超出的平均百分比为53.859%单击+可查询在特定的时间间隔内;事务超出SLA的平均百分比和最大百分比..单击按钮;可查看更详细的事务分析注:SLA 即服务水平协议;通过定义场景测试目标;Controller将在场景运行期间进行目标评测并在Analysis概要报告中进行分析..4)随时间变化的场景行为场景运行期间不同的时间间隔内各个事务的执行情况..(1)Application Under Test Errors :表示在各时间间隔内;所测试程序每秒收到的平均错误数0表示每秒收到的错误数为0;0+表示每秒收到的错误数略大于0(2)事务后面的色块:绿色代表事务未超过SLA;红色代表事务失败;灰色代表尚未定义相关的SLA5)事务概要单击“SLA Status”状态标志;可查看具体的SLA信息;如下图所示注:①标准方差;是描述数据采样离散状态的一个重要指标..可以将标准方差跟平均值进行比较;前者越大于后者;则表明数据离散度越高;曲线越不平稳即波动较大②通过选择“Tools——Options——General”菜单命令;可设置百分比数值默认为906)HTTP响应概要显示运行测试期间WEB返回的HTTP状态码..例如HTTP 200代表页面返回正常;HTTP 404代表浏览的网页在服务器中不存在;网页可能已经转移;HTTP 500代表服务器遇到内部错误;不能够完成请求..HTTP 302代表重定向一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL;当一个网页经历过短期的URL的变化时使用..一个暂时重定向是一种服务器端的重定向;能够被搜索引擎蜘蛛正确地处理..302重定向是暂时的重定向;搜索引擎会抓取新的内容而保留旧的网址..因为服务器返回302代码;搜索引擎认为新的网址只是暂时的..3、Analysis图Graph——Add New Graph——Open a New Graph通过双击各项可以新建图表..1)Running Vusers正在运行的虚拟用户图显示在场景运行的整个过程内;执行虚拟用户脚本的Vuser数量及其状态..场景设计为Vuser从0开始增加;从上图查看;Vusers数量并不是从0开始;而是直接从某一数值开始递增..原因是由于存在一些网络延迟;该情况属于正常..常常跟其他的图表进行关联;比如跟事务响应时间图;吞吐量图等等进行关联;可以看出在多大用户量的情况下响应时间最大;吞吐量最高等等2)Hit per Second。
一、关于脚本
1.当脚本代码很长时,为了显示更清晰,可以在脚本中点击右键如下图,选择Expand
All/Collapse All。
脚本函数就会以“-”展开或“+”折叠。
2.快速定位日志:
在脚本中选择函数—>右键,选择Go to Step in Replay Log,就能在Replay Log中找到相应函数输出的日志。
3.快速定位代码行:
在脚本中点击右键,选择Go to Line,在弹出框中输入数字,即能定位到指定的代码行。
4.快速打开脚本文件所在位置:
在脚本中点击右键,选择Open Script Directory,即能打开脚本文件所在的文件夹。
5.插入断点:
在光标停留的代码行处,按下"F9",或通过下图操作。
6.单步调试:按下"F9",或通过下图操作。
二、通用页设置
通用页设置位置:VuGen—>Tools—>General Option
1.运行脚本时,函数间等待的时间间隔(单位毫秒)设置:操作如下图。
主要实现脚本减速运行。
2.修改脚本字体设置:操作见下图。
由于LR是英文版的,当有些字符显示有问题时(如“/”会显示成“¥”),可考虑设置该选项。
3.选择脚本比较工具设置:操作见下图。
如果不选,默认使用的是WinDiff工具。
4.回放时浏览器与脚本同步显示设置:操作如下图。
三、运行时设置
运行时设置位置:VuGen—>Vuser—>Run-time Settings,或打开脚本后直接按“F4”
1.脚本迭代次数设置:操作见下图。
每个脚本部分都可插入Actions、Block,但只有Run部分的属性可以修改运行的方式,主要用于控制Action间运行的顺序。
而且只有Run logic为Random时才能点击Run 中每个Action的属性设置其百分率,主要用于控制每个Action的并发数。
2.脚本迭代间的等待时间设置:
4.带宽模拟方式设置:操作见下图。
6.清除浏览器缓存设置:操作见下图。
在脚本中使用“web_cache_cleanup()”、“web_cleanup_cookies()”函数,可达到一样的效果。
7.页面性能图数据显示设置:
8.站外链接过滤器设置:操作见下图。
当脚本中含有站外链接的URL,考虑到响应时间受站外资源下载的影响,那么就要设置该选项。
可以包含站外链接也可以屏蔽站外链接。
9.当脚本运行提示连接、下载超时,检查点找不到值时,可考虑修改下列选项。
10.脚本中“EXTRARES”后边跟着很多图片下载链接,是否校验该部分资源下载情况,
可进行下列设置。
11.回放协议设置:操作及说明见下图。
12.启用日志设置:
默认情况下选中标准日志,见下图。
日志文件output.txt存放在脚本文件夹下。
如果希望显示更多日志信息可选中Always send messages—>Extend log下的选项。
但在进行大负载测试中建议禁用改选项,因为写大量日志很耗负载机器的资源。
13.思考时间设置:
默认情况下是忽略思考时间的,见下图。
如果选中该选项,即使脚本中有“lr_think_time()”函数,也不生效。
测试时如果考虑思考时间,那么可根据需要选中“Replay think time”下的各选项。
14.检查点设置:
默认设置如下图。
如果没有选中“Enable Image and text check”,即使脚本中含有“Web_find()”、“Web_image_check()”函数,也不生效。
四、场景开始运行时间设置
该设置可以控制场景什么时候开始运行。
比如有些场景需要在晚上运行,或指定哪一天凌晨进行,但我们这时候又不在公司怎么办呢?这时候我们就要考虑到下面的设置了。
下图分别介绍手工场景和目标场景下是如何操作的。
a.手工场景
b.目标场景。