LoadRunner 技巧之 集合点设置
4-LoadRunner设置集合点
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'子菜单。
LoadRunner 操作技巧(个人经验总结)
Load Runner 相关概念解析集合点1)集合点用以同步虚拟用户以便恰好同一时刻执行任务。
在没有性能测试工具之前,要实现用户的并发是很困难的,最常见的方法就是把公司的所有或者部分员工召集起来,有一个同志喊123开始。
然后大家一起提交数据。
2)Load Runner的集合点则可以完全实现用户的同步问题,而且可以模拟成千上万的用户操作是轻而易举的事情。
3)集合点的设置方法A.在录制过程中可以设置集合点。
B.在使用Load Runner的Controller进行负载时,可以通过依次选择【Scenario】>【Rendezvous…】项实现。
C.可以选择某个虚拟用户后单击enable rendezvous或disable rendezvous.可以设置许启用或者禁止某个集合点.D.可以设置集合点策略,在Rendezvous information,点击Policy按钮。
这个很重要。
有三种情形。
E.在集合点设计策略窗体中也可以设计集合点释放比例。
还可以设置Timeout between Vusers虚拟用户之间的超时间隔。
一般默认是30秒。
可以根据实际情况进行设置。
事务事务是要度量其服务器响应时间的任务或操作集。
一个完整的事务由事务开始、事务结束以及一个或多个业务操作/任务构成。
重点提示事务必须是成对出现,即一个事务有事务开始,必然要求有事务结束。
不要将Lr_think_time放在事务里,影响分析和统计,除非有特殊的情况需要这么做。
检查点检查点的作用是在回放脚本期间搜索特定的文本字符串或者图片等内容,从而验证服务器响应内容的正确性。
添加检查点方法:切换到脚本数视图,然后在左侧切换到“Server response”页,然后添加一个文本Add a Text check。
也可以检查图片。
P14重点提示检查点设置完成后,要保证检查点能使用,需要在Run Time settings –Preferences >Enable Image and Text check 复选框选上,否则的话检查点失效。
loadrunner8.1操作笔记学习要点
loadrunner8.1操作笔记学习要点一、概述LAODRUNNER8.1 作为专业的性能测试工具,通过模拟成千上万的用户对被测应用进行操作和请求,在实验室环境中精确重现生产环境中任意可能出现的业务压力,然后通过在测试过程中获取的信息和数据来确认和查找软件的性能问题,分析性能瓶颈.LOADRUNNER提供了三个大主要模块,这三个模块既可以作为独立的工具分别完成各自的功能,又可以作为LOADRUNNER的一部分彼此衔接,与其他模块共同完成软件性能的整体测试.这三大模块主要是: VITUAL USER GENERATOR--------用于录制脚本MERCURY LOADRUNNER CONTROLLER---------用于创建,运行和监视场景MERCURY LOADRUNNER ANALYSIS--------用于分析测试结果;二、LOADRUNNER8.1 安装LAODRUNNER8.安装过程比较简单,只需按系统的提示一步一步操作就可以了,这里对安装过程中的一些要点进行简要的说明.安装类型安装盘内有两个盘片,MERCURY LOADRUNNER8.1和MECURY LOADRUNNER 8.0ADD-INS.前者包括了LR安装程序及常用组件,后者全部为组件,各组件的作用在安装盘中都有详细的提示.LICENSE 类型LICENSE类型说明如下:PERMANENT 永不过期的LICENSE;TIME LIMITED 限定了使用的起始时间和使用周期;TEMPORARY 从安装后开始计算,限定了使用的天数;VUD-BASED 限定了虚拟用户数量PLUGGED 需要DONGLE,也就是HARDWARE KEY,DONGLE在中国被音译为“狗”,主要是防止软件被盗用RPM和WEB SERVER之间的鉴权如果在安装时选择安装REMOTE PERFORMANCE MONITOR SERVER,LOADRUNNER会弹出一个要求输入用户名和密码的对话框, REMOTE PERFORMANCE MONITOR SERVER是一个远程监视场景的服务器,为测试人员提供WEB化的场景页面,用于实现多台及其通过浏览器同时在线监视场景.这里设定用户名和口令的目的主要是为了REMOTE PERFORMANCE MONITOR(RPM)和运行了IIS的WEB SERVER之间进行鉴权.在RPM安装完毕之后,只有在LOADRUNNER CONTROLLER的RPM用户配置对话框中输入指定的用户名和口令,系统才能允许进行远程监控.设定LOADRUNNER GENERATOR如何登陆到CONTROLLERLOADRUNNER提供了两种方式让LOAD GENERATOR的虚拟用户登陆到CONTROLLER,n ALLOW VIRTUALUSERS TO RUN ON THIS MACHINE WITHOUT USER LOGINn MANUAL LOG IN TO THE LOAD GENERATOR MACHINE三、使用VITUAL USER GENERATOR录制开发脚本LOADRUNNER脚本的开发过程一般需要以下几个过程使用LOADRUNNER的VIRTUAL USER GENERATOR录制基本的测试脚本;根据系统需求编辑测试脚本,看能否通过,在单机模式下运行脚本看能否通过,1.选择协议要想正确的选择LOADRUNNER的脚本协议,首先要从LOADRNNER的工作原理上深入理解协议的作用和意义。
loadrunner常见用法学习笔记
loadrunner常见⽤法学习笔记LoadRunner学习记录LoadRunner 2007-08-29 10:48:40 阅读43 评论0 字号:⼤中⼩订阅下⾯是对LoadRunner学习笔记,深⼊中。
1\集合点:插⼊集合点是为了衡量在加重负载的情况下服务器的性能情况。
在测试计划中,可能会要求系统能够承受1000 ⼈同时提交数据,在LoadRunner 中可以通过在提交数据操作前⾯加⼊集合点,这样当虚拟⽤户运⾏到提交数据的集合点时,LoadRunner 就会检查同时有多少⽤户运⾏到集合点,如果不到1000 ⼈,LoadRunner 就会命令已经到集合点的⽤户在此等待,当在集合点等待的⽤户达到1000 ⼈时,LoadRunner 命令1000 ⼈同时去提交数据,从⽽达到测试计划中的需求。
2\事务(Transaction):为了衡量服务器的性能,我们需要定义事务。
⽐如:我们在脚本中有⼀个数据查询操作,为了衡量服务器执⾏查询操作的性能,我们把这个操作定义为⼀个事务,这样在运⾏测试脚本时,LoadRunner 运⾏到该事务的开始点时,LoadRunner 就会开始计时,直到运⾏到该事务的结束点,计时结束。
这个事务的运⾏时间在结果中会有反映。
插⼊事务操作可以诼贾乒讨薪校部梢栽诼贾平崾蠼⼩ oadRunner 运⾏在脚本中插⼊不限数量的事务。
3\参数化输⼊如果⽤户在录制脚本过程中,填写提交了⼀些数据,⽐如要增加数据库记录。
这些操作都被记录到了脚本中。
当多个虚拟⽤户运⾏脚本时,都会提交相同的记录,这样不符合实际的运⾏情况,⽽且有可能引起冲突。
为了更加真实的模拟实际环境,需要各种各样的输⼊。
参数化输⼊是⼀种不错的⽅法。
4\参数化包含以下两项任务:①在脚本中⽤参数取代常量值。
②设置参数的属性以及数据源。
(注:不是所有的函数都可以参数化的。
)5\参数的类型。
DateTime:很简单,在需要输⼊⽇期/时间的地⽅,可以⽤DateTime 类型来替代。
LoadRunner基本操作
LoadRunner操作,我们主要使用三大部分:Virtual User Generator、Controller、Analysis○1Virtual User Generator:录制脚本○2Controller:设置运行场景○3Analysis:分析一,测试脚本的录制录制测试脚本需要启动Loadrunner的Virtual User Generator。
1、选择菜单:File -->New,从打开的协议选择窗口中,选择录制协议Web (HTTP/HTML),点OK按钮。
2、打开菜单:Tools-->Record Options,选择Recording属性页,设置Recording Level为URL-based Script。
3、在工具栏上点击StartRecord开始录制脚本。
在弹出对话框中得URL address中输入要测试的网址。
在选择Recording into Action下拉框中:1),应用初始化部分可录制到Vuser_init的Action中(比如登陆该界面)。
2),具体的业务操作可以录制到新建的多个Action中(比如输入用户名和密码登陆)。
3),退出Appeon Web应用的操作可以录制到Vuser_end的Action中。
至此,录制脚本完毕。
二,测试脚本的回放1,回放脚本前,注意要设置一下“Run Time Setting ”。
具体操作是:选择菜单Vuser--->Run Time Setting。
在“Browser Emulation”页面,在“simulating browser cache”部分选中“Check for newer versions of...”前的小框。
2,按F10进行单步执行,也可以直接点运行全部回放,如果回放过程中,看到所有Action 都能成功执行,说明脚本就录制好了,点击编译,如果不出错,则可进行下一步优化。
三,测试脚本的优化1,设置事务点统计登录成功的反馈信息:插入事务衡量服务器性能.事务执行中将记录事务执行时间。
LoadRunner技巧之集合点设置
LoadRunner技巧之集合点设置 Loadrunner 技巧已经整理4篇了,你个⼀定疑问,这些知识点,⽹上随处可见。
确实,由于长时间没有使⽤这个⼯具,造成我的⼀些概念开始在⼤脑中模糊,我只是⽤这种⽅式来温习。
---------------------- 在loadrunner的虚拟⽤户中,术语concurrent(并发)和simultaneous(同时)存在⼀些区别,concurrent 是指虚拟场景中参于运⾏的虚拟⽤户。
⽽simultaneous与集合点(rendzvous point)关系更密切,是指在同⼀时刻⼀起执⾏某个任务的虚拟⽤户。
我们来想象⼀个场景,10名运动员参加长跑⽐赛,出发点同时起跑,他们是并排奔跑的;跑了N圈之后,因为有体能更强的,有体能稍弱的,他们的队形并排变成了前后。
⼏乎⼀个跑道就可以供应他们的奔跑(运⾏),那么其余的9条跑道就是空闲的。
为了充分的利⽤跑道,可以将跑道的起点设置⼀个集合点,当所有运动员跑完⼀圈后在起跑点集合,然后再同时起跑。
运动员可以看作是虚拟⽤户,跑道可以看作是系统资源。
设置集合点可以模式更加真实的并发请求,从⽽增加对系统的负载。
下⾯录制⼀个登录触摸屏版139邮箱的脚本。
录制步骤:1、打开登录页⾯2、插⼊集合点3、输⼊⽤户名密码,点击登录按钮4、登录页⾯加载完成,录制结束脚本添加集合点当我们在不熟悉脚本的情况下,可以通过世录制操作⾯板来添加集合点。
如果你⾮常熟悉每⼀段脚本代码的作⽤,可以在脚本中添加:lr_rendezvous 集合点函数。
录制代码如下:Action(){web_url("","URL=/","Resource=0","RecContentType=text/html","Referer=","Snapshot=t19.inf","Mode=HTML",EXTRARES,"Url=:8000/img/p/logo.jpg", ENDITEM,"Url=/favicon.ico", "Referer=", ENDITEM,LAST);web_custom_request("urs.asmx","URL=https:///urs.asmx?MSURS-Client-Key=FcIacsb4XHR0aOJzGG/quQ%3d%3d&MSURS-Patented-Lock=NGkcbdtnuEs%3d","Method=POST","Resource=0","RecContentType=text/xml","Referer=","Snapshot=t20.inf","Mode=HTML","EncType=text/xml; charset=utf-8","Body=<RepLookup v=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6.1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh LAST);web_custom_request("urs.asmx_2","URL=https:///urs.asmx?MSURS-Client-Key=C84C0w6qif5yiuTi%2bfaoMg%3d%3d&MSURS-Patented-Lock=EQjsDl4IFSQ%3d","Method=POST","Resource=0","RecContentType=text/xml","Referer=","Snapshot=t21.inf","Mode=HTML","EncType=text/xml; charset=utf-8","Body=<RepLookup v=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6.1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh LAST);lr_rendezvous("集合点") //添加集合点lr_start_transaction("登陆"); //添加事务web_submit_data("index.htm","Action=/index.htm","Method=POST","Referer=/","Mode=HTML",ITEMDATA,"Name=ur", "Value=fnngj", ENDITEM,"Name=pw", "Value=heng198876", ENDITEM,"Name=apc", "Value=0", ENDITEM,"Name=_swv", "Value=5", ENDITEM,"Name=a", "Value=3,5 ", ENDITEM,"Name=_fv", "Value=3", ENDITEM,"Name=clt", "Value=5", ENDITEM,LAST);web_submit_data("index.htm_2","Action=/index.htm","Method=POST","RecContentType=text/html","Referer=/","Snapshot=t22.inf","Mode=HTML",ITEMDATA,"Name=ur", "Value=XXXXX", ENDITEM, //登陆⽤户名"Name=pw", "Value=ooooo", ENDITEM, //登陆密码"Name=apc", "Value=0", ENDITEM,"Name=_swv", "Value=5", ENDITEM,"Name=a", "Value=3,5 ", ENDITEM,"Name=_fv", "Value=3", ENDITEM,"Name=clt", "Value=5", ENDITEM,LAST);web_custom_request("handler","URL=/wp1/w3/handler","Method=POST","Resource=0","RecContentType=text/html","Referer=/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5","Snapshot=t23.inf","Mode=HTML","EncType=application/x-www-form-urlencoded;charset=UTF-8","Body=&mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&vid=&__randomNumber=1362403651558",EXTRARES,"Url=/bv1/css/public.css?vn=288", "Referer=/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5", ENDITEM,"Url=/bv1/js/home.js?vn=288", "Referer=/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5", ENDITEM,LAST);web_custom_request("costanalysis","URL=/wp1/w3/costanalysis","Method=POST","Resource=0","RecContentType=text/html","Referer=/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5","Snapshot=t24.inf","Mode=HTML","EncType=application/x-www-form-urlencoded;charset=UTF-8","Body=&mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&vid=&cmd=999&d=478&b=1&t=710&body=2&r=5&ajaxInitTime=419&ajaxCostTime=285&ajaxBeginTime=0&downBeginTime=156&initBeginTime=704&logintime=5100&hom EXTRARES,"Url=/bv1/img/global_24.png", "Referer=/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5", ENDITEM,"Url=/favicon.ico", "Referer=", ENDITEM,LAST);web_custom_request("urs.asmx_3","URL=https:///urs.asmx?MSURS-Client-Key=maVKmMoyQiei4%2bdFLSDDAA%3d%3d&MSURS-Patented-Lock=HitWNt%2b1Bns%3d","Method=POST","Resource=0","RecContentType=text/xml","Referer=","Snapshot=t25.inf","Mode=HTML","EncType=text/xml; charset=utf-8","Body=<RepLookup v=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6.1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh LAST);web_custom_request("urs.asmx_4","URL=https:///urs.asmx?MSURS-Client-Key=r/4pztMEzQOon4ZLeymWxw%3d%3d&MSURS-Patented-Lock=a7q4TZRzKXk%3d","Method=POST","Resource=0","RecContentType=text/xml","Referer=","Snapshot=t26.inf","Mode=HTML","EncType=text/xml; charset=utf-8","Body=<RepLookup v=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6.1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh LAST);lr_end_transaction("登陆",LR_AUTO); //登录事物结束return0;}控制器中设置集合点策略 我们在Virtual User Generator 中回放脚本⽆法体现集合点的作⽤。
Loadrunner中参数的设置(五篇模版)
Loadrunner中参数的设置(五篇模版)第一篇:Loadrunner中参数的设置Loadrunner中参数的设置在做负载或者压力测试时,很多人选择使用了Loadrunner测试工具。
该工具的基本流程是先将用户的实际操作录制成脚本,然后产生数千个虚拟用户运行脚本(虚拟用户可以分布在局域网中不同的PC 机上),最后生成相关的报告以及分析图。
但是在录制脚本的过程中会遇到很多实际的问题,比如不同的用户有不同的使用数据,这就牵涉到参数的设置问题。
本文就Loadrunner中参数的设置进行说明,希望对大家有所帮助。
录制程序运行的过程中,VuGen(脚本生成器)自动生成了包含录制过程中实际用到的数值的脚本。
如果你企图在录制的脚本中使用不同的数值执行脚本的活动(如查询、提交等等),那么你必须用参数值取代录制的数值。
这个过程称为参数化脚本。
本文主要包括如下内容:理解参数的局限性、建立参数、定义参数的属性、理解参数的类型、为局部数据类型设置参数的属性、为数据文件设置参数的属性、从已经存在的数据库中引入数据。
除了GUI,以下的内容适合于各种类型的用户脚本。
一、关于参数的定义在你录制程序运行的过程中,脚本生成器自动生成由函数组成的用户脚本。
函数中参数的值就是在录制过程中输入的实际值。
例如,你录制了一个Web应用程序的脚本。
脚本生成器生成了一个声明,该声明搜索名称为“UNIX”的图书的数据库。
当你用多个虚拟用户和迭代回放脚本时,也许你不想重复使用相同的值“UNIX”。
那么,你就可以用参数来取代这个常量。
结果就是你可以用指定的数据源的数值来取代参数值。
数据源可以是一个文件,也可以是内部产生的变量。
用参数表示用户的脚本有两个优点:① 可以使脚本的长度变短。
② 可以使用不同的数值来测试你的脚本。
例如,如果你企图搜索不同名称的图书,你仅仅需要写提交函数一次。
在回放的过程中,你可以使用不同的参数值,而不只搜索一个特定名称的值。
探讨LoadRunner的并发用户和集合点
探讨LoadRunner的并发用户和集合点近来跟踪一个项目,发现同事们在执行性能测试时,比较热衷于使用集合点,从概念上认为要得到并发用户就必须设置集合点,认为在执行一个压力测试脚本时,设置了集合点才算是有效的并发用户,没有设置结合点,就认为可能这个就不能准确的代表并发用户数。
当前我并反对这个观点,不过却让我有一种疑虑,促使我想更深入的理解并发用户和集合点,我相信大多数进入性能测试研究领域的朋友都应该有疑惑,主要原因我觉得还是由于不能深入理解LoadRunner的实现原理,而且缺乏对系统整个过程的分析,其中这里面涉及到的知识包括网络、协议、中间件、数据库、应用层以及缓冲区和缓存等等,当然还与硬件资源CPU队列和内存等有着千丝万缕的联系。
所以说要成为一个优秀的性能测试人员,真还不一个容易的过程,是需要长时间积累和学习的,只有通过大量的项目实践和分析,最后再总结于思想,才有可能成为这个领域的专家,当然也希望真正想把性能测试做好的朋友都能为此将不懈努力,乐于分享和讨论。
先来看一个应用系统的结构图,如下所示:这个图源于小布老师的视频中,比较直观、简洁地反映了一个应用系统的运行过程,其中包括客户端、网络、应用服务器和数据库服务器,其中每一个环节都是在执行性能测试分析中必不可少的元素,结构图中也合理得分析出了响应时间的处理过程,当请求从客户端发出之后到最后返回到客户端,这个过程中每一个环节的处理都有可能最后成为系统运行中的性能瓶颈,所以可见对系统整体结构的理解是何等重要。
接下来我们来看看关于并发用户和集合点的定义:并发用户:通俗意义上讲就是同时操作的用户,当然这个“同时”可以理解为同一时间段,还可以理解为同一时间点,当然如果说并发就是同一时间点上同时操作的用户,这样理解没有错误,但对于实际情况来讲,是没有严格意义上的并发执行的,就如同进程和线程关系一样,在某一个点严格上讲就只有一个人得到执行的权利。
集合点:用以同步虚拟用户,以便恰好在同一时刻执行任务。
使用集合点
使用集合点在场景运行期间,可以通过使用集合点指示多个Vuser 同时执行任务。
集合点可以在服务器上创建密集的用户负载,并使LoadRunner能够度量服务器在负载状态下的性能。
假设您要在十个Vuser 同时检查帐户信息时度量基于Web 的银行系统是如何执行操作的。
为了模拟服务器上要求的用户负载,您可以指示所有Vuser 在同一时刻检查帐户信息。
可以通过创建集合点来确保多个Vuser 同时操作。
当Vuser 到达指定集合点时,Controller 会将其滞留在该处。
当达到了要求的Vuser 数,或者经过一段指定的时间后,Controller 就会从集合中释放Vuser。
有关释放条件的详细信息,请参阅“设置集合策略”。
集合点是在Vuser 脚本中定义的。
有关在Vuser 脚本中插入集合点的信息,请参阅《Mercury虚拟用户生成器用户指南》。
使用Controller,可以通过选择以下项来改变服务器的负载级别:∙场景运行期间活动的集合点∙参与每个集合的Vuser 数例如,要测试银行服务器,可以创建一个包含两个集合点的场景。
第一个集合确保一千个Vuser 能同时存入现金。
第二个集合确保另外一千个Vuser 能同时提取现金。
如果需要在只有五百个Vuser 存入现金的情况下度量服务器的性能,您可以停用(禁用)“提取”集合,并指示仅让五百个Vuser 参加“存入”集合。
下面的过程概述了如何控制服务器上的负载峰值:1. 创建Vuser 脚本,插入必需的集合点。
2. 创建场景。
向场景中添加Vuser 组时,LoadRunner 会扫描与该组关联的脚本,在其中搜索集合点的名称,并将这些名称添加到“集合信息”对话框(“场景”>“集合”)的列表中。
如果另外创建了一个运行相同脚本的Vuser 组,Controller 会将这些新的Vuser添加到集合中,并更新列表。
3. 设置模拟用户负载的级别。
您可以通过选择参与场景的集合点和参与每个集合的Vuser 数,确定负载的确切级别。
LoadRunner 选项设置
1.Vugen选项设置在LoadRunner的Vugen中有两个选项的设置是非常重要的:Recording options和Run-time settings.前者是用来设置录制脚本过程中的一些选项,而后者是用来设置回放脚本过程中的一些选项。
1.1 Recording options设置录制脚本过程中的选项,使用方法:选择tools/recording options菜单或者直接点击工具栏上的录制选项按钮(见下图),弹出图所示对话框:下面对一些主要的选项加以介绍。
1.1.1 Recording选项Html_based script模式下mode的值为"html",模式记录为web_submit_form,默认录制模式,Url-based script模式下mode的值为"http",模式记录为web_submit_data。
两种录制方式优点对比:(一)HTML 录制优点:减少了捕获动态值的需要。
(1)资源从内存中取出且在回放时下载。
因此,脚本比其他的录制方式更小且更容易阅读。
(2)由于只有较少的硬编码脚本,因此只有较少的动态数值需要关联。
(3)可以插入图片检查之类的语句以检查结果是否正确。
(4)HMTL录制级别会为每一个HTML用户动作产生一个单独的步骤。
而且HTML方式产生的脚本非常简洁和直述,易于阅读。
(二)URL 录制优点:脚本具有灵活性和可量测性。
(1)脚本回放过程中,不再搜索内存和Cache。
(2)脚本更具可扩展性。
支持页面上的Java Applets和ActiveX对象。
(3)URL录制级别把对服务器每个对象的请求,都录制成一个单独的请求。
对业务过程有更好的控制。
如何选择两种模式?1、基于浏览器的应用程序推荐使用HTML-Based Script。
2、不是基于浏览器的应用程序推荐使用URL-Based Script。
3、如果基于浏览器的应用程序中包含了Java Script,applet等并且该脚本向服务器产生了请求,比如DataGrid的分页按钮等,也要使用URL-Based Script方式录制。
loadrunnercontroller:集合点策略
loadrunnercontroller:集合点策略
集合点只有在多⽤户并发运⾏的时候才能体现它的作⽤。
Scenario ---> Rendezvous 打开集合点设置界⾯,如下图所⽰:
我们可以看到Vusers 列表框⾥有两个⽤户,这与我们设置的虚拟⽤户数⼀⾄,可以通过“Enable VUser” 来决定某个⽤户是否参与集合点;
在Rendezvous列表框可以看到我们的集合点,这⾥脚本⾥我只设置了⼀个集合点login,同样,我们可以通过"disable Rendezvous"可让集合点不起作⽤。
下⾯我们点击Rendezvous列表框下⽅的Policy...来打开集合点策略设置窗⼝,如下图:
三种策略:
1) 当所有虚拟⽤户中的x % 到达集合点进释放,即仅当指定百分⽐的虚拟⽤户到达集合点时,才释放虚拟⽤户;
2) 当所有正在运⾏的虚拟⽤户中的x %到达集合点时释放,即仅当场景中指定百分⽐的、正在运⾏的虚拟⽤户到达集合点时,才释放虚拟⽤户。
3) 当x 个虚拟⽤户到达集合点时释放,即仅当指定数量的虚拟⽤户到达集合点时,才释放虚拟⽤户。
最后还有个Timeout between Vusers (虚拟⽤户之间的超时):假如设置了集合10个⽤户并发,结果9个⽤户已经集合到位,还剩1个虚拟⽤户,在设定的超时30秒还没集合到位就不管它了,9个⽤户执⾏并发。
LoadRunner使用说明
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使用教程(免费)
LoadRunner使用教程1. 了解LoadRunner1.1 Loadrunner简介LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。
通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。
通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。
难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢、系统崩溃等问题。
这些都不可避免地导致公司收益的损失。
Mercury Interactive 的LoadRunner 能让企业保护自己的收入来源,无需购置额外硬件而最大限度地利用现有的IT 资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。
LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。
LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。
此外,LoadRunner 能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。
1.2 为什么应进行自动性能测试?自动性能测试是一项规范,它利用有关产品、人员和过程的信息来减少应用程序、升级程序或修补程序部署中的风险。
自动性能测试的核心原理是通过将生产时的工作量应用于预部署系统来衡量系统性能和最终用户体验。
构造严密的性能测试可回答如下问题:➤应用程序是否能够很快地响应用户的要求?➤应用程序是否能处理预期的用户负载并具有盈余能力?➤应用程序是否能处理业务所需的事务数量?➤在预期和非预期的用户负载下,应用程序是否稳定?➤是否能确保用户在真正使用软件时获得积极的体验?通过回答以上问题,自动性能测试可以量化更改业务指标所产生的影响。
RoadRunner使用总结
1、添加集合点:创建脚本—选择Action—插入—集合点Rendezvous—输入集合点—确定2、代码:lr.rendezvous("集合点")3、启用/禁用集合点:运行负载测试—浏览脚本—添加—确定—场景Scenario—集合点—启用/禁用集合点(选择某个Vuser:允许或者禁止一个虚拟用户参与集合中)4、集合点设计策略:策略Policy—当虚拟用户到达集合点时释放:5、Timeout between Vuser说明:(虚拟用户之间的超时值)每个虚拟用户到达集合点时之后,LoadRunner都会等待下一个虚拟用户到达,等待的最长时间为设置的超时间隔,如果下一个虚拟用户没能在超时间隔内到达,Controller就会从集合中释放所有的虚拟用户。
每当有新的虚拟用户到达时,计时器就归零。
6、事务:开始事务:Ctrl+T;结束事务:Ctrl+Dlr.start_transaction("开始事务")lr.end_transaction("结束任务", lr.AUTO)LR_PASS返回Succeed返回代码LR_FAIL返回Fail返回代码LR_STOP返回Stop返回代码LR_AUTO自动返回检测到的状态7、在应用事务过程中,不要将思考时间(lr_think_time函数)放在事务开始和结束之间,否则在回放思考时间设置被允许的情况下,思考时间将被算入事务的执行时间,从而影响了对事务正确执行时间的分析与统计。
8、检查点:??9、思考时间:Vuser—运行时设置10、打开参数列表11、设置参数:用户迭代2次,每次取1个数值12、实例练习:a)查看实例是否存在:程序—Mercury LoadRunner—Samples—Flights-ODBC_Access(位置:C:\Program Files\Mercury\LoadRunner\samples\bin\flights.exe)b)新建脚本—选择ODBC协议c)13、。
LoadRunner11-设置集合点及检查点
一、设置集合点集合点可以控制各个Vuser以便在同一时刻执行任务,借助集合点,可以在loadrunner中实现真正意义上的完合一样的并发。
当使用集合点时,可以在系统上模拟较重的用户负载。
当某个Vuser到达该集合点时,Controller会将其保留,直到参与该集合的全部Vuser都到达。
当满足集合条件时,Controller释放Vuser,这样可以产生非常密集的同一类用户操作或请求。
Vuser从集合释放后,将执行脚本中的下一个任务。
集合点一般会创建在用户事务的开始标志彰。
只能在脚本的Action部分(而不是init或end部分)添加集合点。
Lr_rendezvous(“集合点名”)如何设置集合点-录制登录testlink脚本为例:1.从菜单中选择运行Virtual User Generator,在New Virtual User窗口选择Web (HTTP/HTML)协议,点击“Create”按钮。
2.在弹出的窗口中输入要录制的url地址http://192.168.1.251/testlink/login.php?note=expired,并选择"Record into Action"为vuser_init,点击OK正式开始录制,这时会自动打开登录主页面。
3.点击工具条“暂停”按钮暂停录制,并选择“Record into Action”为Action,在登录主页面输入用户名XXX,密码XXX,点击“login”按钮进行登录,登录成功后点击工具条“停止”按钮结束录制,登录脚本录制成功。
4.在脚本Action部分右键选择“Insert→Start Transaction”弹出一个对话框,输入一个事务名字login,点击OK,“Start Transaction”插入完成后,还需要插入一个“End Transaction”,用以标识事务结束。
5.在开始事务前插入集合点,右键选择“Insert”→“rendezvous”弹出一个对话框,输入集合点名字为login,点击OK集合点设置完毕。
loadrunner基础入门之事务、同步点(集合点)和思考时间、参数化、检查点
事务、同步点(集合点)和思考时间、参数化、检查点1 Transaction(事务)事务是计算机程序设计中一个很重要的概念。
一个事务应该具有原子性、一致性、隔离性和持久性。
在LoadRunner里,我们定义事务主要是为了度量服务器的性能。
每个事务度量服务器响应指定的Vuser请求所用的时间,这些请求可以是简单任务(例如等待对单个查询的响应),也可以是复杂任务(例如提交多个查询和生成报告)。
1.1 手动设置Transaction的方法(显式事务)(1)选择新Transaction开始点,在被度量脚本段之前插入lr_start_transaction。
(2)选择新Transaction结束点,在被度量脚本段之后插入lr_end_transaction。
Lr_start_transaction("login");web_submit_form("auth","Snapshot=t2.inf",ITEMDATA,"Name=ssousername","Value=robin", ENDITEM,"Name=password", "Value=123456", ENDITEM,"Name=remember", "Value=<OFF>", ENDITEM,LAST);Lr_end_transaction("login”);1.2 自动事务(隐式事务)在Run-time Settings中,在Miscellaneous选项卡的Automatic Transactions中定义自动事务。
可以设置LoadRunner直接按事务处理Vuser中的每个Action或step。
这里,Action 指的是vuser_init、Action和vuser_end三大函数,而step指的是LoadRunner执行的每个函数。
LoadRunner设置检查点的几种方法介绍
LoadRunner设置检查点的几种方法介绍使用LoadRunner做压力测试,大致如下几个流程:1、明确测试目标2、录制测试脚本3、脚本优化、调试4、场景运行5、分析测试结果当然这里都是概况性的标题,但从这里我们可以明确的是测试脚本是整个压力测试过程中的重点步骤,如果测试脚本都不能确保正确与否,后面的测试过程就无从说起了。
很多时候我们把脚本调试就简单的认为是脚本回放没有错误就认为脚本是没有问题的,这当然不能这么肯定,脚本调试是一个非常严谨的过程,我大致归纳如下几步:1、明确每一行脚本的作用,也就是说每一行脚本执行的功能是什么;2、删减不需要的脚本语句,比如在录制过程由于LR默认设置导致录制之后出现很多冗余的脚本,这些个脚本对我们的测试过程没有用途的应该删除掉,至于哪些是冗余就要具体分析了,所以说脚本录制完之后要分析脚本运行的过程,方能理解脚本执行的用途,不然在后面施压时运行错误,就会开始到处找问题,而又找不出问题;3、查找存在的关联并进行相关设置4、设置检查点,设置检查点的目的就是为了验证页面每次运行之后是否正确,设置检查点的过程总要通过不能的回放来进行验证检查点设置是否正确。
5、通过测试目标明确脚本执行的目标事务,并添加事务;6、对需要进行并打操作的功能设置集合点7、根据实际情况设置Think Time8、在以上所有脚本调试步骤完成之后,设置迭代次数,通过在Vuser中设置多次迭代来验证脚本在多次循环运行时是否存在错误注意:在Vuser中运行和回放脚本的过程,要密切关注replay log,也就是回放日志,很多问题通常都暴露在回放日志中,只不过我们没有认真去检查,所以没发觉。
因为大多数情况是我们在回放脚本之后只观察回放日志中有没有红色的错误提示信息,如果没有我们就认为我们的脚本是ok的,其实不然,很多时候一些隐藏的错误就在回放日志中可以被发现,比如回放日志中的Warning信息,也就是警告信息,这些信息一旦你不去理会它,它将在场景运行过程中开始频繁暴露出来,而在场景中报错之后我们就认为可能是系统有问题或者是测试过程存在其他问题等等,而很难去考虑到是脚本的问题,是脚本在Vuser中调试就存在的问题。
LR基础知识---集合点
Rendezvous:这里显示出脚本中包含的所有集合点。
默认情况下这些集合点处于启用状态。
可以点击按钮,将集合点设置为禁用状态。
Scripts:显示了场景运行的所有脚本。
Vusers:场景运行设置虚拟用户情况。
默认情况下所有的Vuser都会参与到集合点的策略中来,可以手动点击按钮,将一些Vuser设置为不参与到该集合点策略中来。
点击按钮,系统弹出Policy对话框,如图7-3所示。
在该对话框中可以设定集合点执行的策略。
第一项:表示当所有用户数的X%到达集合点时,开始释放等待的用户并继续执行场景。
第二项:表示当前正在运行用户数的X%到达集合点时,开始释放等待的用户并继续执行场景。
以上都是自动控制Vuser释放的情况,但在实际使用的过程中,也可以手动对Vuser进行释放,这涉及到手动释放Vuser技术。
在正常情况下会发现在集合点信息对话框中,下面的Release按钮不可用,如图7-2所示。
以下是手动释放Vuser的步骤:
1)开始执行场景。
2)在场景执行过程中,选择Scenario→Rendezvous,打开集合点信息对话框。
3)在场景运行过程中,下面的按钮和
按钮会变成可用状态,这时可以点击按钮,进行手动释放Vuser,如图7-4所示。
Loadrunner简单使用说明
Loadrunner11.0简单使用Loadrunner的使用主要分为三部分:Virtual User Generator,Controller和Analysis。
其中Virtual User Generator(虚拟用户生成器)主要用来创建脚本,并对脚本进行编辑优化;Controller(监控场景)主要用来设计和运行场景;Analysis(分析场景)用来对运行结果的数据进行分析。
1.Virtual User Generator的使用1.1新建录制脚本1.2新建协议1.3开始录制脚本,输入URL地址1.4开始录制1.5结束录制1.6Run-time Settings设置1.7脚本回放和查看回放结果对脚本进行保存后,开始对脚本进行编辑,包括常见的参数化,插入事务,插入集合点点,具体操作不做描述。
2.创建和运行场景打开Tools->Create Controller Scenario点击“OK”进入监控场景2.1添加负载生成器负载生成器主要用来产生虚拟用户,既可以用本机产生,也可以借助别人的电脑产生,从而减少本机的压力(前提是对方的电脑已安装Loadrunner并开启Loadrunner Agent Process 服务)。
点击“Add”,在Name中如如负载生成器的IP,点击“OK”Loadrunner Agent Process。
2.2设置监控场景双击Global Schedule下的Initialize行,开始对运行场景进行设置初始化Vuser的三种方式:点击“Next”,进入启动Vuser设置,有两种方式:设置好后,点击“Apply”,之后点击“Next”,进入持续Vuser设置,有两种方式:注:当选择第一种方式时,运行场景的设置到此结束;选择第二种时,需要进入下一步继续设置场景。
点击“Next”,进入停止Vuser设置:设置完后点击“Apply”,场景设置完成。
2.3设置集合点(Rendezvous)点击Scenario->Rendezvous,打开Rendezvous的设置窗口2.4监控系统资源点击“Run”,切换到运行场景窗口,系统资源默认为Windows Resource在Windows Resource下右键,点击Add Measurements打开windows resource的添加窗口点击“OK”,监控的服务器添加完成。
loadrunner操作手册
LoadRunner操作手册1、LoadRunner操作,我们主要使用三大部分:Virtual User Generator、Controller、Analysis○1Virtual User Generator:录制脚本○2Controller:设置运行场景○3Analysis:分析2、首先我们打开Virtual User Generator,如图所示:打开后的界面:然后点击菜单file->new 新建一个脚本,打开后界面如下:由于我们B/S大部分使用的协议为WEB(HTTP/HTML)(如果不是可以选择其他协议),所以我们选择协议为WEB(HTTP/HTML)然后单击Create,接下来打开下图界面:在URL中输入你需要测试系统地址,Record into Action中有三个Action:Vuser_init:用来初始化的,比如登陆该界面Action:用来记录你所测试业务的,比如输入用户名和密码登陆Vuser_end:比如退出(注销)Application type 默认即可Program to record 是浏览器的位置一般默认即可Record the application startup 这项要打勾设置后单击OK按钮,开始录制,录制结束后保存。
关于在脚本中添加事务和集合点的设置。
1.事务添加方法,如下图:开始事务时间要在脚本内容前面,点击开始事务按钮,如下图打红勾:打开后设置事务名字(就是要测试的内容名字,比如:首页登录),如下图:然后点击ok,如下图:然后设置事务结束时间,点击打红勾按钮,如下图:打开后如下图:这个直接点ok就行,注意事务结束时间在脚本内容后面,如下图:2.集合点设置集合点要设在事务开始时间前面。
打开集合点设置按钮,如下图所示:名字按自己意思输入即可,然后点击ok。
添加好了如下图:此图就是集合点和事务的设置好了的图,位置要按这样设置。
3、然后打开Controller,如图所示:这样是在录好了脚本后直接在菜单tools打开当前脚本的controller,来设计场景。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LoadRunner 技巧之集合点设置---虫师(博客园)Loadrunner 技巧已经整理4篇了,你个一定疑问,这些知识点,网上随处可见。
确实,由于长时间没有使用这个工具,造成我的一些概念开始在大脑中模糊,我只是用这种方式来温习。
----------------------在loadrunner的虚拟用户中,术语concurrent(并发)和simultaneous(同时)存在一些区别,concurrent 是指虚拟场景中参于运行的虚拟用户。
而simultaneous与集合点(rendzvous point)关系更密切,是指在同一时刻一起执行某个任务的虚拟用户。
我们来想象一个场景,10名运动员参加长跑比赛,出发点同时起跑,他们是并排奔跑的;跑了N圈之后,因为有体能更强的,有体能稍弱的,他们的队形并排变成了前后。
几乎一个跑道就可以供应他们的奔跑(运行),那么其余的9条跑道就是空闲的。
为了充分的利用跑道,可以将跑道的起点设置一个集合点,当所有运动员跑完一圈后在起跑点集合,然后再同时起跑。
运动员可以看作是虚拟用户,跑道可以看作是系统资源。
设置集合点可以模式更加真实的并发请求,从而增加对系统的负载。
下面录制一个登录触摸屏版139邮箱的脚本。
录制步骤:1、打开登录页面2、插入集合点3、输入用户名密码,点击登录按钮4、登录页面加载完成,录制结束脚本添加集合点当我们在不熟悉脚本的情况下,可以通过世录制操作面板来添加集合点。
如果你非常熟悉每一段脚本代码的作用,可以在脚本中添加:lr_rendezvous 集合点函数。
录制代码如下:Action(){web_url("","URL=/","Resource=0","RecContentType=text/html","Referer=","Snapshot=t19.inf","Mode=HTML",EXTRARES,"Url=:8000/img/p/logo.jpg", ENDITEM,"Url=/favicon.ico", "Referer=", ENDITEM,LAST);web_custom_request("urs.asmx","URL=https:///urs.asmx?MSURS-Client-Key=FcIacsb4XHR0 aOJzGG/quQ%3d%3d&MSURS-Patented-Lock=NGkcbdtnuEs%3d","Method=POST","Resource=0","RecContentType=text/xml","Referer=","Snapshot=t20.inf","Mode=HTML","EncType=text/xml; charset=utf-8","Body=<RepLookupv=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4 DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6 .1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh-CN</L><R><Rq><URL>aHR0cDov L3dhcG1haWwuMTAwODYuY24v</URL><O>POST</O><T>TOP</T><HIP>218.204.255.9 0</HIP></Rq><Rq><URL>aHR0cDovL3dhcG1haWwuMTAwODYuY24vaW5kZXguaHRt</UR L><O>POST</O><T>ACTION</T><HIP>218.204.255.90</HIP></Rq></R></RepLook up>",LAST);web_custom_request("urs.asmx_2","URL=https:///urs.asmx?MSURS-Client-Key=C84C0w6qif5y iuTi%2bfaoMg%3d%3d&MSURS-Patented-Lock=EQjsDl4IFSQ%3d","Method=POST","Resource=0","RecContentType=text/xml","Referer=","Snapshot=t21.inf","Mode=HTML","EncType=text/xml; charset=utf-8","Body=<RepLookupv=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4 DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6 .1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh-CN</L><R><Rq><URL>aHR0cDov L3dhcG1haWwuMTAwODYuY24v</URL><O>PRE</O><T>TOP</T><HIP>218.204.255.90 </HIP></Rq></R></RepLookup>",LAST);lr_rendezvous("集合点") //添加集合点lr_start_transaction("登陆"); //添加事务web_submit_data("index.htm","Action=/index.htm","Method=POST","Referer=/","Mode=HTML",ITEMDATA,"Name=ur", "Value=fnngj", ENDITEM,"Name=pw", "Value=heng198876", ENDITEM,"Name=apc", "Value=0", ENDITEM,"Name=_swv", "Value=5", ENDITEM,"Name=a", "Value=3,5 ", ENDITEM,"Name=_fv", "Value=3", ENDITEM,"Name=clt", "Value=5", ENDITEM,LAST);web_submit_data("index.htm_2","Action=/index.htm","Method=POST","RecContentType=text/html","Referer=/","Snapshot=t22.inf","Mode=HTML",ITEMDATA,"Name=ur", "Value=XXXXX", ENDITEM, //登陆用户名"Name=pw", "Value=ooooo", ENDITEM, //登陆密码"Name=apc", "Value=0", ENDITEM,"Name=_swv", "Value=5", ENDITEM,"Name=a", "Value=3,5 ", ENDITEM,"Name=_fv", "Value=3", ENDITEM,"Name=clt", "Value=5", ENDITEM,LAST);web_custom_request("handler","URL=/wp1/w3/handler","Method=POST","Resource=0","RecContentType=text/html","Referer=/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibb Qok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5","Snapshot=t23.inf","Mode=HTML","EncType=application/x-www-form-urlencoded;charset=UTF-8","Body=&mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&vid=&__randomNumber =1362403651558",EXTRARES,"Url=/bv1/css/public.css?vn=288","Referer=/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibb Qok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5", ENDITEM,"Url=/bv1/js/home.js?vn=288","Referer=/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibb Qok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5", ENDITEM,LAST);web_custom_request("costanalysis","URL=/wp1/w3/costanalysis","Method=POST","Resource=0","RecContentType=text/html","Referer=/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibb Qok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5","Snapshot=t24.inf","Mode=HTML","EncType=application/x-www-form-urlencoded;charset=UTF-8","Body=&mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&vid=&cmd=999&d=478& b=1&t=710&body=2&r=5&ajaxInitTime=419&ajaxCostTime=285&ajaxBeginTime= 0&downBeginTime=156&initBeginTime=704&logintime=5100&homejstime=2&hom eutiljstime=2&ajaxSendTime=1362403651558&redirectTime=-1&__randomNumb er=1362403652268",EXTRARES,"Url=/bv1/img/global_24.png","Referer=/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibb Qok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5", ENDITEM, "Url=/favicon.ico", "Referer=", ENDITEM,LAST);web_custom_request("urs.asmx_3","URL=https:///urs.asmx?MSURS-Client-Key=maVKmMoyQiei 4%2bdFLSDDAA%3d%3d&MSURS-Patented-Lock=HitWNt%2b1Bns%3d","Method=POST","Resource=0","RecContentType=text/xml","Referer=","Snapshot=t25.inf","Mode=HTML","EncType=text/xml; charset=utf-8","Body=<RepLookupv=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4 DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6 .1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh-CN</L><R><Rq><URL>aHR0cDov L20ubWFpbC4xMDA4Ni5jbi9idjEvaG9tZS5odG1sP21vPVUwajVHdXZWYUxHM1h6MHFNa WJiUW9rOGczNF9PQUJvJnZuPTI4OCZsb2dpbnR5cGU9MCZjdj0zJnN3dj01JmNsaT01</ URL><O>PRE</O><T>TOP</T><HIP>113.108.212.38</HIP></Rq></R></RepLookup >",LAST);web_custom_request("urs.asmx_4","URL=https:///urs.asmx?MSURS-Client-Key=r/4pztMEzQOo n4ZLeymWxw%3d%3d&MSURS-Patented-Lock=a7q4TZRzKXk%3d","Method=POST","Resource=0","RecContentType=text/xml","Referer=","Snapshot=t26.inf","Mode=HTML","EncType=text/xml; charset=utf-8","Body=<RepLookupv=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4 DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6 .1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh-CN</L><R><Rq><URL>aHR0cDov L20ubWFpbC4xMDA4Ni5jbi9idjEvaG9tZS5odG1sP21vPVUwajVHdXZWYUxHM1h6MHFNa WJiUW9rOGczNF9PQUJvJnZuPTI4OCZsb2dpbnR5cGU9MCZjdj0zJnN3dj01JmNsaT01</ URL><O>POST</O><T>TOP</T><HIP>113.108.212.38</HIP></Rq></R></RepLooku p>",LAST);lr_end_transaction("登陆",LR_AUTO); //登录事物结束return0;}控制器中设置集合点策略我们在Virtual User Generator 中回放脚本无法体现集合点的作用。