ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:32.26KB ,
资源ID:20973992      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20973992.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LoadRunner自动化测试工具Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

LoadRunner自动化测试工具Word文档下载推荐.docx

1、我们根据实际情况选择,我用Standalone Installation和Custom Installation安装,安装所有组件.1.2 协议的选择或者VUSER 类型的选取我现在要用LoadRunner测一个C/S or B/S系统,请问该用什么协议 经常有新手问:为什么我用LR录完之后VuGen里产生不了脚本 这就是协议选择的问题了,LR支持的协议和应用非常广泛,很少有人能用完这么多协议,我们就常见的大多数人用的加以讨论:B/S系统:选择Web(Http/Html),C/S系统:根据C/S结构所用到的后台数据库来选择不同的协议,如果后台数据库是Sybase,则采用sybaseCTlib协

2、议,如果是Sql server,则使用MS Sql server的协议,至于oracle 数据库系统,当然就使用oracle 2-tier协议.对于没有数据库的c/s(ftp, SMTP)这些可以选择windows sockets协议.至于其他的ERP,EJB(需要ejbdetector.jar),选择相应的协议即可.1.3 LR的基本原理LR启动以后,在任务栏会有一个Agent进程,通过Agent进程,监视各种协议的Client与Server端的通讯,用LR的一套C语言函数来录制脚本,所以只要LR支持的协议,就不会存在录制不到的,这是它与Load test,WR,Robot(Gui)录制脚本

3、的很大一个区别.(WR必须识别对象,才能录制到).然后LR调用这些脚本向服务器端发出请求,接受服务器的响应.至于服务器内部如何处理,它不关心.1.4 测试脚本录制/分配所遵循的几个原则脚本越小越好.就像写code一样的,不要太长,尽量做到一个功能(Transaction)一个脚本.如果那些功能是连续有序的,必须先做上一个,才能工作下一个,那就只好放在一起了.选择使用频率最高的.有些人喜欢在LR中测试几乎所有的功能,其实这样不合适,我们把最常用的,使用频率最高的,拿出来测试.但是也要结合用户实际使用情况,一般在一个系统中是多个用户使用多个功能,某些功能使用的频率更大一些,我们在录制脚本之前就要设

4、计好,哪个脚本会跑几个用户,一共需要多少个脚本,能满足性能测试的需求.选择你所需要的进行录制.对于WEB的程序,对于你所关注的内容没什么影响的操作,你可以不录制,可以使用暂停,这需要试的, 对被测功能有一个清楚的认识和了解,要能把握住哪些地方是对整个过程没有影响的,比如一些查询,通常,选择条件的页面都可以不录制,但对于一些页面有可能要传递参数,就需要录制了, 如何确定哪些点可以不录制,一是可以找开发人员了解清楚程序设计的结构,再就是靠自己的经验,作的多了,就心中有数了.例子:Test case nameVuser numberTotal 50 Total 20Iteration Test ca

5、se 1: merchants create schedule and costing sheet104200Test case 2: Merchant run report-5 concurrent users (3 merchants, 2 vendors).51Test case 3: merchant edit costing sheet FOB and create production schedule9Test case 4: merchant reply schedule tasks 63300Test case 5: vendor reply schedule tasks7T

6、est case 6: vendor edit costing sheetTest case 7: merchant create topic, vendor reply topic100Test case 8: imports reply schedule and do classification.2第二部分:录制脚本2.1 录制脚本前需要理解的几个基本概念2.1.1 事务(Transaction)事务(Transaction)是这样一个点,我们为了衡量某个action的性能,需要在action的开始和结束位置插入这样一个范围,这就定义了一个transaction,LoadRunner 运

7、行到该事务的开始点时,LoadRunner 就会开始计时,直到运行到该事务的结束点,计时结束.这个事务的运行时间在结果中会有反映.插入事务操作可以在录制过程中进行,也可以在录制结束后进行.LoadRunner 可以在脚本中插入不限数量的事务.举个例子:比如一个单据,把从登录到保存成功退出整个作为一个脚本,对于需要关注的保存时间,定义为单独的事务,以取得响应时间,事务脚本函数如下:2.1.2集合点(Rendezvous)集合点:是一个并发访问的点,在测试计划中,可能会要求系统能够承受1000人同时提交数据,在LoadRunner中可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据

8、的集合点时,LoadRunner 就会检查同时有多少用户运行到集合点,如果不到1000人,LoadRunner就会命令已经到集合点的用户在此等待,当在集合点等待的用户达到1000 人时,LoadRunner 命令1000 人同时去提交数据,并发访问的目的.注意:集合点经常和事务结合起来使用,常放在事务的前面,集合点只能插入到Action 部分,vuser_init和vuser_end 中不能插入集合点.集合点函数如下,参数不能加空格:加入集合点之后,在后面运行过程中可以看到VU的状态,会等待集合.2.1.4 IP Spoofer(IP 欺骗)当运行场景时,虚拟用户使用它们所在的Load Gen

9、erator 的固定的IP 地址.每个Load Generator 上(同时)运行大量的虚拟用户(*不明白),这样就造成了大量的用户使用同一IP 同时访问一个网站的情况,这种情况和实际运行的情况不符,并且有一些网站会限制同一个IP 的登陆.为了更加真实的模拟实际情况,LoadRunner允许运行的虚拟用户使用不同的IP 访问同一网站,这种技术称为IP 欺骗.启用该选项后,场景中运行的虚拟用户将模拟从不同的IP 地址发送请求.该选项非常的有用.注意:IP Spoofer 在连接Load Generators 之前启用.要使用IP 欺骗,各个Load Generator 机器必须使用固定的IP,不

10、能使用动态IP(即DHCP).IP Wizard工具就提供了生成多个ip的功能,IP Wizard是一个单独的程序,我们可以在开始菜单里面找到,你可以添加一个局域网内的IP段.添加后重启,在Win2k下使用Ipconfig/all查看到很多虚拟的IP,最后要在Controller里面选择enable ip spoofer.2.1.5(Text/Image)检查和contents check点对于查询类的脚本,一定要添加检查点,以保证在测试时结果的正确性.因为LR只要检测到网页的响应,就认为是pass而并不管当前网页内容的正确性.在进行压力测试时,为了检查Web服务器返回的网页是否正确,VuGe

11、n允许我们插入Text/Imag 检查点,这些检查点验证网页上是否存在指定的Text或者Image,还可以测试在比较大的压力测试环境中,被测的网站功能是否保持正确.检查点的含义和WinRunner 中的检查点功能基本上一致,这里就不再作过多的说明.当我用loadrunner做压力测试的时候,它的确能反馈给我各种服务器性能的数据,但是在做B/S结构系统的测试的时候,却发现如下问题:loadrunner不能正确判断操作是否成功,比如登录,我要测试200人同时登录,但是我的login.jsp里面没有正确的关闭数据库的连接,导致登录100人后,建立了100个数据库连接,第101人一个人登录的时候,由于

12、超出数据库连接的最大数,所以,jsp程序抛出了一个数据库异常.但是页面的走向是正确的,所以loadrunner会认为程序是正确执行的,但是事实却并非如此.对于有的页面是无法添加文本和图像检查点的,就加入contents check点.2.1.6 LR脚本复用问题作为一款优秀的负载测试工具,LR的测试脚本有很好的复用性,参数化后的脚本,在应用没什么大的变化的情况下,一直是可以用的.甚至你在A服务器录制的脚本,如果做测试的时候,需要转移到B服务器上,你只需要用查找替换的功能将A服务器的IP地址换成B服务器的IP地址就可以使用.2.1.7理解Correlation(关联)关联是用来解决脚本中存在的动

13、态数据问题的.在7.8中,当你回放一次后,LR会自动录找你录制的时候和回放时候的差别,找出动态数据,并作成参数.举个我作的动态数据的例子,当用户登录时,会产生一个Sessionid号,访问结束后,该Sessionid便会失效.我录制的时候,在脚本里面获取到了该Sessionid,但当我再回放的时候,这个Sessionid已经无效了,所以我需要把这个Sessionid作为一个动态数据,当我一登录的时候,便获取一个新的有效的Sessionid,然后通过函数把它保存下来web_reg_save_param(WCSParam_Text2,LB=ProcessID=RB=;Ord=1RelFrameId

14、=1Search=bodyLAST);那么后面用到的页面中就可以调用WCSParam_Text2这个参数使用这个新的Sessionid号.这是个动态数据很典型的例子,web_submit_data(w_onload_check.aspAction=http:/gsserver3/cwbase/sys/userlogin/w_onload_check.aspMethod=POSTTargetFrame=RecContentType=text/htmlReferer=http:/gsserver3/cwbase/sys/userlogin/index.aspSnapshot=t3.infMode=

15、HTMLITEMDATA,Name=hdclentip, Value=chenjing, ENDITEM,Name=hdProcessIDValue=F8E5ACCD372845C38C7E1981A342F703Name=selInstanceidValue=T01Name=TxtUserIDValue=RYBHName=TxtPasswordValue=cwpassName=TxtkjdateValue=2003.01.06Name=selInstancetxtValue=性能测试用(中型数据库)Name=selInstanceweb_url(loginpage.aspxURL=http:

16、/gsserver3/cwbase/sys/menushow/loginpage.aspx ProcessID=WCSParam_Text2Resource=0Referer=Snapshot=t4.inf理解web_reg_save_param函数,int web_reg_save_param (const char *ParamName, , LAST);参数名字,用双引号括起,逗号分开;List of Attributes,包括:LB,RB,RelFrameID,Ord,Search,SaveOffset,SaveLen等,第三部分:LAST,结束标志.左边界,右边界到底是个什么概念 L

17、B是左边界,要查找的字符串左面的边界值,即位于查找字符串的最左边的字符串,RB是右边界,要查找的字符串右面的边界值,即位于查找字符串的最右边的字符串,比如说吧,程序中有这么一个赋值,ProcessID =A53625E18440FCE81F26DCE712E65EBA;如果ProcessID的值是动态的,我想使用动态变量,那我设定查找左边界为LB=ProcessID=,右边界为RB=;的字符,如果找到了,就替换成变量.Search是指查找范围,就是说在哪里查找这些值,可以取这样几个值,我们一般设为ALL,Body等即可.Headers (Search only the headers),Bod

18、y (search only Body data, not headers),Noresource (search only the html body, excluding all headers and resources),ALL (search Body and headers). The default value is ALL.RelFrameID: The hierarchy level of the HTML page relative to the requested URL.一般取1ORD: This parameter, also known as Instance, i

19、ndicates the ordinal or instance of the match. 一般取 1LR7.8已经为用户定义好了很多类型的关联,我们可以自己定义New rule,不过我在录制脚本的时候一般把系统的那些都关掉,定义自己的,只是有的时候,它不能自动关联,就干脆手工作了.需要关联的地方:一般是在有主键,不允许记录重复,和一些主程序中传递过来的参数,在后面要用到等情况才使用关联的,你可以先执行一遍,如果有些地方不允许重复,参数值无效,就会出错的,根据错误提示你可以判断出来,就知道需要关联了.一般需要关联的不多,我现在遇到的就是进程号,以及表的主键.我这里有个Correlation的

20、官方文档,大家下去可以自己看看.2. 1. 8以录制Web(Http/Html)协议为例讲述一下LR的脚本的录制LR的脚本是C语言代码,LR有自己的一整套函数接口,可以供外部调用,在VUGen里面敲Lr_就可以看到了.Web(Http/Html)脚本本身分INIT,ACTION,END三部分,各部分的解释:INIT部分可以理解为初始部分,ACTION可以理解为事务部分,也是测试的主体,END是退出结束.重复的时候,仅重复action部分.我们一般把登录部分放在init,退出放到end,只会执行一次,或者有的时候,各部分反复的次数不一样,分成多个action,可以单独设定反复次数.(如果需要在登

21、陆操作设集合点,那么登陆操作也要放到Action 中,因为vuser_init 中不能添加集合点)Init,login#include web_api.hlrw_custom_body.hvuser_init()/登录的脚本可以放在这里 录制前的选项设置:解释:1.基于浏览器的应用程序推荐使用HTML-based Script, 脚本中采用HTML页面的形式来表示,这种方式的Script脚本容易维护,容易理解,使用该选项中的advance中的第一个选项,如果单纯的HTML方式,是不允许使用关联的.2.不是基于浏览器的应用程序推荐使用URL-based Script,脚本中的表示采用基于URL

22、的方式,不是很好阅读.1.是否记录录制过程中的ThinkTime,如果记录,还可以设置最大值,一般我不记录这个值.2.通知Vugen去重新设置每个action之间的Http context,缺省是需要的.3.完整记录录制过程的log,4.保存一个本地的snapshot,可以加速显示5.把html的title放到web_reg_find函数里面6.支持的字符集标准7.Http header的录制,我们采用缺省即可,不需要用web_add_header去录制非标准的header信息.对录制的content的内容进行filter,不作为resource处理的.这个就是我前面提到的关联,系统已经预先设

23、置好了一些常见的关联rules,我们录制脚本之前,可以把系统的都关掉,定义自己的,只是有的时候,它不能自动关联,就干脆手工关联.这里比较重要,我还有一个专门的PPT文档是详细讲这个的,大家可以到我的网站上下载.2.2脚本录制现在可以开始录制脚本了,我给出几段已经录制好的脚本.lr_rendezvous(createpreproduction schedule );lr_start_transaction(create pre production scheduleFolder.jsp_4/172.17.16.5/xpc71/jsp/com/folder/Folder.jsp/172.17.16

24、.5/xpc71/LoginAction.doSnapshot=t10.infTemplateAdminAction.do/172.17.16.5/xpc71/TemplateAdminAction.do forwardID=1Snapshot=t11.inf/可以自己手工,也可以让correlate定义一个动态参数web_reg_save_param( WCSParam_Diff2LB= name=RB=Ord=7Search=Body, LAST );web_submit_form(ScheduleCreationAction.doSnapshot=t12.infName=PTNameValue=schedule_nameName=headerTempIDValue=preProductionHeaderTemplateName=selectHeaderValue=1Name=schTempIDValue=preProductionDetailTemplateFolder.jsp_5Snapshot=t13.inflr_end_transaction(, LR_AUTO);createcscreate csCostingPreCreateAction.do/172.17.16.5/xpc71/CostingPreCreateAction.doRecCont

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1