LoadRunner使用快速上手本着相互学习的目的,输出一份文档,希望大家互相探讨,给出意见,本文是最基础的使用向导,供初次使用者参考。一.简单介绍LoadRunner(LR)是美科利(Mercury)公司著名的性能测试产品,当然由于比较拉风06年后被HP收购,由于它的功能强大,在各行各业性能测试都能见到它的身影,比如,LR的VirtualUserGenertor(VuGen)可执行Java开发的程序.NET程序,C开发的程序,使得LR几乎无所不能。二.安装安装前准备:*PC一台内存最好大一点,Windows视窗操作系统*LR安装包,破解文件,中国hacker真厉害,可以免费使用了,低调不要被发现。开始安装,注意安装路径不能出现中文,安装机器最好是比较干净的,安装前关闭所有其他程序,包括防火墙,杀毒软件,尤其是卡爸丝机。按照向导选择试用版,选Manuallogintothismachine(手动登录),OK开始安装,重启后LR会自动初始化,之后安装就成功了,然后按说明升级中文版破解一下,就可以开始测试了。*试用版好像有并发量限制,使用15天到期,破解的License有两个,一个提供最大1000虚拟用户支持web协议,一个最大100虚拟用户所有协议全部支持,据说已经有漏洞可以无限使用了。三.使用流程1.脚本录制与开发使用LR时请暂停使用杀毒软件,以web测试为例。进LR的VuGen(创建编辑脚本),这个工具提供测试脚本的录制与编辑,VuGen的录制功能十分强大,支持的协议也很广泛:选择新建脚本,选择协议(比如常用的web协议)确定后输入要录制的URL录制到操作有3个选项分别为vuser_init,Action,vuser_end,一般选Action,当然也可以新建;区别是将脚本录制好以后放入场景控制器执行时候一般vuser_init、vuser_end只执行一次,action反复执行,另外action里的脚本可以控制迭代次数;选项内容简单说明:录制里的录制级别分html/url(基于浏览器的使用html录制,不是基于浏览器的推荐用url录制,比如浏览的应用中包含了JavaScript或使用了HTTPS安全协议录制后不能回放,可以使用Url)按确定后就可以开始录制了录制过程中最好不要点IE的后退,LR对这个支持不好,可以选择将录制内容放在哪里,可以暂停,新建操做,添加开始事务、添加结束事务,插入集合点,注释,插入检查点*LR事务(Transaction)说明:LR通过事务来衡量服务器的性能,在业务逻辑上代表的某一个或一系列的特定功能,在脚本上表现为一段代码,测试人员自己定义这块区间,来衡量这块代码的响应时间。我们要测一下百度查询“LoadRunner”关键字的并发性能,先点开始事务按钮输入事务名Search,然后在IE中输入LoadRunner,点’百度一下’按钮,查询完结果后点结束事务,LR会自动记录下这些操做,并在查询这个动作开始和结尾添加事务标记代码:lr_start_transaction(Search);//……录制的相关操lr_end_transaction(Search,LR_AUTO);整个录制下来的脚本如下:Action(){web_url(www.baidu.com,//web_url函数,访问baidu首页URL=,Resource=0,RecContentType=text/html,Referer=,Snapshot=t1.inf,Mode=HTML,LAST);lr_start_transaction(Search);//开始事务定义,开始查询lr_think_time(10);//录制的思考时间(秒)web_submit_form(s,//表单提交Snapshot=t2.inf,ITEMDATA,Name=wd,Value=LoadRunner,ENDITEM,EXTRARES,Url=://www.baidu.com/s?wd=LoadRunner&cl=3&t=1202008152765,Referer=,ENDITEM,LAST);lr_end_transaction(Search,LR_AUTO);//结束事务定义,结束查询return0;}录制完成后就要编译了,点编译按钮或shift+F5,如果没有检测到错误就可以运行了,如果有错误可以点击错误提示定位出错位置,为了进一步验证脚本正确性可以设置断点,LR的相关函数在自带的函数文档可以查询详细用法,或点击函数名将光标停留上去后按F1.进VuGen工具—常规选项选择回放后,显示回放概要,并将显示中在回放时显示浏览器勾上,点运行或F5就能直观的看到回放的结果。上面操做完成就表示一个简单的脚本已经创建好了。下边可以继续加强脚本:*参数化功能参数化是LR的一大特色,通过参数化实现了虚拟用户的行为差异,带来的好处很明显,主要有两个:a.减小脚本大小与数量b.虚拟用户脚本更接近真实用户行为参数化的两个任务:a.用参数替换Vuser脚本中的常量b.为参数设置属性和数据源比如上面访问百度时查询的’LoadRunner’关键字,可以替换成你需要的一系列参数web_submit_form(s,Snapshot=t2.inf,ITEMDATA,Name=wd,Value={SearchKeyWords},ENDITEM……LR的参数一般为{…}大括号包含以示区别,当然在常规选项中也可以按个人使用习惯修改,不用过多关注。参数化的方法可以插入新建参数,也可以直接选中要替换的Value点右键选择替换为新参数修改参数名为SearchKeyWords,参数类型,然后可以在属性里具体修改值的大小,值的范围,值显示的格式等等,比如创建的是File类型的,点属性创建表,再用记事本编辑添加查询的关键字如图:需要关注的部分选项选择下一行,Sequential是顺序读取,Random是随机取值,Unique唯一值(保证每个值不一样),SamelineasXXX和XXX参数取同行值(如果一个脚本中定义了多个参数那么某些参数是互相对应的,比如用户名和密码,这时就可以用到这个选项);更新值的时间,Eachiteration代表每次迭代更换值内容,Eachoccurrence表示每次出现替换值内容,Once表示一个VUser只替换一次,取同一个值;选择下一行为Unique和在场景控制器中时当超出值时选项被激活,可以设置表里的值被用完后如何处理,从头再取还是不循环只用最后一个值。参数的类型很强大其他具体的参数使用可以参考LR自带的联机帮助图书。*关联功能LR的关联是脚本录制开发中一个重要功能,可以将一条语句的结果当作另一条语句的输入来链接语句何时使用关联:一般用于简化优化代码,用于动态数据比如录制一个创建新帐户的过程,由于每个新帐户都分配了一个用户未知的编号,录制时此帐号将插入具有唯一关键字约束的表中,如果按所录的那样来运行脚本,那么将用录制的编号而不是新的编号去创建帐户,运行也将导致失败。如何使用关联:以web协议为例,录制完回放一次,有错误不用理会,在Vuser扫描要关联的脚本(ctrl+F8)扫描完成后创建关联就行了另外在录制选项—关联里可以启用在录制期间启用关联Web协议可以用以上的自动关联的方法,其他协议不能自动关联的可以先定位出错语句然后用工具中WDiff程序来确定脚本不一致性*回放控制回放运行时按默认的配置运行,可以修改以控制运行进Vuser的运行时设置(F4)部分控制选项简要说明:迭代次数可以改变运行Action的次数;步可以控制每次迭代之间时间的控制;日志选项可以改变日志输出级别;思考时间可以选择忽略思考时间或是按一定规则重播;其他提供错误处理,按线程或进程运行,自动事务管理(推荐按线程运行节省内存提高效率);速度模拟控制网络速度;浏览器仿真提供选择访问代理的浏览器,模拟浏览器缓存规则,下载管理,cache管理等;首选项如果脚本中设置了检查点,该选项下启用图像和文本检查需要勾选上,生成web性能图选项,还有一系列配置如设置HTTP版本,http请求超时时间,网络缓冲区大小,GUI模式设置等;2.场景创建与执行在前面完成脚本调试后,接下来就可以用LR的运行负载测试来设置运行场景控制器(Controller)。在控制器中可以完成对虚拟用户数量与行为,监控等详细设置,在完成这步之后就可以产生压力来进行测试了。启动Controller可以直接在VuGen中工具选项选择创建控制器场景或从电脑开始菜单下的MercuryLoadRunnerLoadRunner点运行负载测试(RunLoadTests),选择保存的脚本。选择的场景类型为面向目标和手动场景,我们以手动场景为例,进入场景控制器默认是设计面板如图:左上角场景计划如图:在编辑计划里可以设置:是否初始化,如何加压,加压时间,如何减压,设置计划名,修改场景开始时间。设计面板中间场景组里可以设置组名,脚本路径,虚拟用户数量,负载生成器设计面板右边有控制选项,可以修改负载生成器,运行时控制Vuser,添加组,删除组,运行是设置(参照脚本录制与开发的回放控制),查看脚本的快捷按钮设置完成后进入运行面板:在运行面板里可以设置监控的对象,方便对系统性能问题更准确的定位可以监控操做系统,中间件服务器,主流系统平台,数据库等,监控准确才方便对问题分析,所以资源监控是性能测试中非常重要的一项工作。如何设置监控对象:如果要监控一台WINDOWS服务器的资源可以直接将左边可用图中的相关选项拖入右边分图中即可,如下图然后在windows资源分图上点击鼠标右键进行详细设置如下图左:选添加度量,如上图右添加监控的计算机信息以及度量等。具体度量信息说明可以参考LR联机图书,设置完成后就可以开始场景了,完成测试后点结果-分析结果,可以自动分析测试结果。只有场景设置合理,有效才能有助于定位性能瓶颈的测试数据结果,所以是测试重点之一。补充如何监控Linux服务器:需要准备rstatd程序使用#rup10.0.1.3(linux服务器ip),如果有反馈信息表明已经激活了rstatd守护程序,如返回不是统计信息或报错,表明rstatd守护程序尚未被配置;使用#find/-namerpc.rstatd查找系统中是否有这个文件,如果没有就说明没有安装,这样就先获取安装包(rstatd***.tar.gz)然后解压#tarzxvfrstatd***.tar.gz进入解压目录后安装依次执行#./configure#make#makeinstall;安装好以后启动./rpc.rstatd&;启动portmap/etc/rc.d/init.d/portmapstart;添加度量和windows类似,资源度量详细说明可以参考LR联机图书。3.测试结果的分析测试结果分析往往是测试人员感觉最困难的阶段,通过之前的一系列工作,现在就要定位问题分析瓶颈了,通过分析测试结果来评价测试对象的能力,测试过程的价值等等(这块由于能力有限只能简单的说说再引用一些文档)这块一般采用的办法是”由内而外,由表及里,层层深入”比如:用户最终体验感受响应时间—系统的性能响应时间(网络、服务器)组件的性能Servlet、DB……如何生成分析结果:1.在场景创建与执行最后已经提到2.所有程序MercuryLoadRunnerLoadRunner分析负载测试(Analysis)3.所有程序MercuryLoadRunnerLoadRunnerApplicationsAnalysis生成的结果如图:点击新图,可以选择添加你想要的测试结果图表,Analysis提供了筛选器,交叉对比结果,合并图,自动生成HTML、Word格式报告主要的分析图:虚拟用户图显示用户运行状态的虚拟用户图,