您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > LoadRunner培训教程PPT(PPT212页)
LoadRunner培训教程吴晓华qq:2055739•目录:1.使用VirtualUserGenerator录制脚本使用随机数据VirtualUserGenerator的设置脚本分析如何使用事务如何设置集合点2.如何使用Controller手工设置Schedule目标设置Schedule4.参数含义5.使用Analysis分析运行结果使用loadrunner过程如何确定性能测试的目标目标需要回答的问题测试最终用户的使用时间要花多长时间完成以一次业务流程?确定优化的硬件配置哪种硬件配置可以提供最好的性能?检查可靠性系统可以在何种压力条件下无错误的进行工作,并且能够持续多长时间?检查硬件和软件的升级硬件和软件的升级是否会对性能有多大影响?选择硬件和软件应该选择哪种服务器硬件或者软件?衡量系统能力系统可以处理多少负载,而不导致系统的处理性能明显下降?确定瓶颈哪些因素会延长系统的相应时间?编写脚本步骤•VuGen中的脚本分为三部分:vuser_init、vuser_end和Action。•其中vuser_init和vuser_end都只能存在一个,不能再分割,而Action还可以分成无数多个部分(通过点击New按钮,新建ActionXXX)。•在录制需要登陆的系统时,我们把登陆部分放到vuser_init中,把登陆后的操作部分放到Action中,把注销关闭登陆部分放到vuser_end中。•如果需要在登陆操作设集合点,那么登陆操作也要放到Action中,因为vuser_init中不能添加集合点•在其他情况下,我们只要把操作部分放到Action中即可。•注意:在重复执行测试脚本时,vuser_init和vuser_end中的内容只会执行一次,重复执行的只是Action中的部分。•web_add_cookie作用:新增cookieweb_add_cookie(client_id=China127B;path=/;expires=Wednesday,09-Nov-200123:12:40GMT;domain=www.cnn.com);提问:path什么意思?expires什么意思?domain什么意思?•Cookie和session的区别:1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。5、建议:将登陆信息等重要信息存放为SESSION其他信息如果需要保留,可以放在COOKIE中•web_url加载特定的URL例子1:web_url(www.abc.com,URL=http://www.abc.com/,TargetFrame=,TargetBrowser=MercuryTechnologies,Resource=0,RecContentType=text/html,Snapshot=t1.inf,Mode=HTML,LAST);•web_url函数例子2(带有referer):web_url(HittheSlopesandSave,URL=http://www.saleserver.com/American?BV_EngineID=..fm_ski_sale_fall00guest.html,TargetFrame=Main,Resource=0,RecContentType=text/html,Referer=http://www.saleserver.com/American?BV_Operation=Dyn_Frame&..main-guest.tmpl,Snapshot=t3.inf,Mode=HTML,LAST);请问:referer是什么意思?•EXTRARES此关键词表示这个词之后的内容是资源属性列表的内容。资源属性列表的内容通常是由non-html产生的,例如:javascript、activex、javaapplet和flash等内容。由URL,referer和enditem组成url表示要去访问的网址referer表示从哪个页面来访问的enditem表示这个资源项的结束符•将脚本录制的固定数据变为随机数据–以说吧为发贴字为例子,讲述一个比较完整的过程–先按照之前所讲的方式录制一个发贴子的脚本–然后,进入Script的编辑状态.–选择脚本中发贴子时,选中往字段中填写的内容.–然后,右键菜单选择“ReplacewithaParameter”,就可以将固定内容替换为随机制定的内容了。DateTime:很简单,在需要输入日期/时间的地方,可以用DateTime类型来替代。其属性设置也很简单,选择一种格式即可。当然也可以定制格式。GroupName:在controller中运行可以看到,设置比较简单。在实际运行中,LoadRunner使用该虚拟用户所在的VuserGroup来代替。但是在VuGen中运行时,GroupName将会是NoneLoadGeneratorName:在实际运行中,LoadRunner使用该虚拟用户所在LoadGenerator的机器名来代替。参数的类型参数的类型•IterationNumber:在实际运行中,LoadRunner使用该测试脚本当前循环的次数来代替。•RandomNumber:随机数。很简单。在属性设置中可以设置产生随机数的范围参数类型UniqueNumber:唯一的数。在属性设置中可以设置第一个数以及递增的数的大小。注意:使用该参数类型必须注意可以接受的最大数。例如:某个文本框能接受的最大数为99。当使用该参数类型时,设置第一个数为1,递增的数为1,但100个虚拟用户同时运行时,第100个虚拟用户输入的将是100,这样脚本运行将会出错。注意:这里说的递增意思是各个用户取第一个值的递增数,每个用户相邻的两次循环之间的差值为1。举例说明:假如起始数为1,递增为5,那么第一个用户第一次循环取值1,第二次循环取值2;第二个用户第一次循环取值为6,第二次为7;依次类推参数类型•VuserID:设置比较简单。在实际运行中,LoadRunner使用该虚拟用户的ID来代•替,该ID是由Controller来控制的。但是在VuGen中运行时,VuserID将会是–1。•File:需要在属性设置中编辑文件,添加内容,也可以从现成的数据库中取数据(下面我们将会介绍)•UserDefinedFunction:从用户开发的dll文件提取数据。就目前我认为,这种方式没有必要。VuGen支持C语言的语法,在VuGen中重新编写类似的函数应该不难•选择“File”类型•然后,脚本中的相应位置会出现“{NewParam}”这几个关键字•右键这几个关键字,弹出右键菜单,选择“ParameterProperties”•选择包含数据的文件,则文件的内容会被加载到一个列表里面。再选择“关闭”。•在进行的时候会自动使用这些指定的数据来替换相应的固定值。•将数据库的数据作为指定参数•首先,在操作系统的ODBC数据源中建立与数据库的关联•然后,使用“DataWizard”,选择“SpecifySQLStatementmanually”•下一步后,选择“Create”,选择“机器数据源”,然后选择相应的ODBC数据源,写好指定的sql语句后,就可以把数据加载到参数队列中去了。•然后,在压力测试过程当中,他们会自动使用参数队列中的数据作为测试数据。“Selectnextrow”有以下几种选择:•Sequential:按照顺序一行行的读取。每一个虚拟用户都会按照相同的顺序读取•Random:在每次循环里随机的读取一个,但是在循环中一直保持不变•Unique:唯一的数。注意:使用该类型必须注意数据表有足够多的数。比如:Controller中设定20个虚拟用户进行5次循环,那么编号为1的虚拟用户取前5个数,编号为2的虚拟用户取6-10的数,依次类推,这样数据表中至少要有100个数据,否则Controller运行过程中会返回一个错误。•SameLineAs某个参数(比如Name):和前面定义的参数Name取同行的记录。•通常用在有关联性的数据上面。•Sequential:表示从数据列中进行顺序选取数据•Random:表示随机从数据列中选择数据•Unique:表示从数据列中选择不重复的数据•SamelineasNewParam:表示和NewParam是同一行的值•EachOccurrence:在运行时,每遇到一次该参数,便会取一个新的值•Eachiteration:运行时,在每一次循环中都取相同的值•Once:运行时,在每次循环中,对于一个vuser来说,该参数只取一次值就不变了VirtualUserGenerator的录制脚本设置•Recording标签页:默认情况下选择“HTML-basedScript”,说明脚本中采用HTML页面的形式来表示,这种方式的Script脚本容易维护,容易理解,推荐这种方式录制•“URL-basedScript”说明脚本中的表示采用基于URL的方式,WAS和ACT中的录制方式就是这种,这种方式看上去比较乱。选择哪种方式录制有以下参考原则:•1基于浏览器的应用程序推荐使用HTML-basedScript•2不是基于浏览器的应用程序推荐使用URL-basedScript。•3如果基于浏览器的应用程序中包含了JavaScript并且该脚本向服务器产生了请求,比如DataGrid的分页按钮等,也要使用URL-based方式录制•4基于浏览器的应用程序中使用了HTTPS安全协议,使用URL-based方式录制在录制过程中,不要使用浏览器的“后退”功能,LoadRunner支持不太好!录制时工具栏的功能事务(Transaction):为了衡量服务器的性能,我们需要定义事务。比如:我们在脚本中有一个数据查询操作,为了衡量服务器执行查询操作的性能,我们把这个操作定义为一个事务,这样在运行测试脚本时,LoadRunner运行到该事务的开始点时,LoadRunner就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在结果中会有反映。插入事务如何添加事务输入该事务的名称。注意:事务的名称最好要有意义,能够清楚的说明该事务完成的动作。插入事务的开始点后,下面需要在需要定义事务的操作后面插入事务的“结束点”。同样可以通过菜单或者工具栏插入默认情况下,事务的名称列出最近的一个事务名称。一般情况下,事务名称不用修改。事务的状态默认情况下是LR_AUTO。一般情况下,我们也不需要修改,除非在手工编写代码时,有可能需要手动设置事务的状态。在代码中的事务插入集合点插入集合点是为了衡量在加重负载的情况下服务器的性能情况。在测试计划中,可能会要求系统能够承受1000人同时提交数据,在LoadRunner中可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,LoadRunner就会检查同时有多少用户运行到集合点,如果不到1000人,LoadRunner就会命令已经到集合点的用户在此等待,当在集合点等待的用户达到1000人时,LoadRunner命令1000人同时去提交数据,从而达到测试计划中的需求。注意:集合点经常和事务结合起来使用。集合点只能插入到Action部分,vuser_init和vuser_end中不能插入集合点。输入该集合点的名称。注意:集合点的名称最好要有意义,能够清楚的说明该集合点完成的动作。脚本中集合点的代码如下:插入注释插入Text/Imag检查点在进行压力测试时,为了检查Web服务器返回的网页是否正确,VuGen允许我们插入Text/Imag检查点,这些检查点验证网页上是否存在指定的T
本文标题:LoadRunner培训教程PPT(PPT212页)
链接地址:https://www.777doc.com/doc-10056 .html