您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 样章性能测试进阶指南LoadRunner 9.1实战_03 09-259
3.1VuGen界面介绍新建一个脚本,选择Web(HTTP/HTML)协议后,即可得到开发界面。在VuGen中提供了两种脚本视图方式(Script/Tree),可以通过菜单栏的对应按钮进行切换,也可以通过View菜单下的选项进行切换。3.1.1Tree图形化模式在Tree图形化模式下,左侧会列出该脚本使用的函数(双击可以直接使用图形化修改函数),右侧提供了该请求对应的截图(自行编写的脚本和部分协议不会带有Snapshot截图),如图3.3所示。图3.3Tree模式视图一般通过这种视图来检查录制是否正确或进行某些函数的图形化修改。3.1.2脚本模式在脚本模式界面中,左侧是脚本Action的列表,右侧是代码部分。从开发方便的角度来说,一般使用这个模式的情况多一些,如图3.4所示。图3.4脚本视图3.1.3OutputWindow在屏幕的下方提供了OutputWindow,包含录制、回放、关联等相关信息的输出管理,如图3.5所示。图3.5OutputWindow第3章用户行为模拟性能测试进阶指南——LoadRunner9.1实战47在脚本运行的时候,OutputWindow还会增加RuntimeData标签,里面包含了脚本运行时的参数名和值,还有脚本迭代的次数。VuGen中还提供了Tasks标签,这里提供了惠普公司建议的脚本录制开发流程,通过一个任务流的方式指导你进行性能测试。惠普建议使用Recording→Replay→Enhancements→PrepareForLoad的流程来进行代码开发。3.2录制用户行为录制脚本是模拟用户行为的第一步,通过录制用户行为产生的协议从而生成VuserScript。当我们对函数比较熟悉的时候,可以抛弃录制的过程,而采用手工编写。在大多数情况下,我们会在录制生成的脚本上根据实际需求进一步进行修改,这样效率更高。3.2.1录制流程录制用户行为转化为脚本一般是按照以下步骤进行的,如图3.6所示。在开始菜单中找到LoadRunner程序项并打开Application,找到VirtualUserGenerator,选择文件菜单下的“新建”功能,创建脚本。3.2.2协议选择在前面我们知道性能测试是基于协议的,所以首先要选择匹配的协议,如果协议错误将会导致无法录制用户行为,选择过多会导致录制内容的冗余,而选择不足又会导致漏录的情况发生。新建脚本首先需要选择协议类型,在VuGen中分为单协议和多协议两种情况。插入命令协议选择设置录制选项开始录制停止录制图3.6VuGen录制流程单协议(NewSingleProtocolScript)在单协议情况下,所要录制的对象只使用唯一的协议,如图3.7所示。性能测试进阶指南——LoadRunner9.1实战性能测试进阶指南——LoadRunner9.1实战48图3.7单协议选择界面通过Category可以对协议进行分类,方便查找。多协议(NewMultipleProtocolScript)在需要录制的对象使用多于一种协议的情况下,应该选择多协议,并且将这些协议都进行添加,否则会因为漏选协议而无法正常回放脚本,如图3.8所示。图3.8多协议选择界面确定系统使用协议最简单的方法就是询问开发人员,特别是C/S架构使用的协议可能比较特殊,甚至有可能是自行开发的协议包规范。另外一种方法就是通过网络扫描工具拦截数据包,确定协议类型。由于绝大多数性能测试都是基于B/S架构下的HTTP协议,所以后面的章节主要针对HTTP,在高级脚本开发中会涉及部分非HTTP协议的脚本开发内容。3.2.3录制选项在选择合适的协议后准备开始录制,而选择不同的协议后弹出的录制窗口和录制选项也不尽相同。这里选择Web(HTTP/HTML)协议(模拟浏览器和Web服务器之间的协议交互),如图3.9所示。弹出StartRecording窗口,如果没有弹出可以使用Vuser菜单下的StartRecording或Ctrl+R组合键启动录制过程,如图3.10所示。第3章用户行为模拟性能测试进阶指南——LoadRunner9.1实战49图3.9选择Web协议图3.10StartRecording窗口(Internet应用)ApplicationsType首先需要设置的是Applicationtype,VuGen中提供了InternetApplications和Win32Applications两种应用的录制选项。InternetApplications:指需要录制的对象是一个网络应用(基于浏览器)。Programtorecord:指需要录制的程序名,VuGen默认支持的Web客户端是IE,也建议不要使用任何第三方的浏览器来录制,避免出现不兼容。从LoadRunner9.1版本开始已经能够很好地兼容IE7.0(最新版本9.5仍然没有提供对IE8.0的支持)。URLAddress:录制开始所需要访问的URL地址,也就是第一个请求所需要访问的页面。Workingdirectory:用来指定代码的工作目录。Win32Applications是用来支持Win32的标准客户端,如果客户端是自行开发的,请使用该选项,如图3.11所示。Programtorecord:需要录制的应用程序,我们可以通过后面的按钮将访问的应用程序添加进来。Programarguments:指程序参数,在某些应用程序后需要添加一些参数才能运行,这里提供的是填写参数的位置。图3.11StartRecording窗口(Win32应用)RecordintoAction:录制的内容会被存放在Action中,Action是VuGen提供的一种类似于函数的脚本块,通过将不同的操作存放在不同的Action中实现代码的高内聚低耦合。这里可以单击New按钮来新建Action。VuGen默认提供了以下3个Action:Vuser_initAction性能测试进阶指南——LoadRunner9.1实战性能测试进阶指南——LoadRunner9.1实战50Vuser_end这里可以先简单介绍一下这3个Action有什么不同,在LoadRunner中用户的初始化操作应该存放在Vuser_init中,用户的结束操作存放在Vuser_end中,因为这两个Action在后面的RunLogic默认设置中是处在脚本最先运行和最后运行的位置,并且在负载时Vuser_init和Vuser_end只会在开始和结束时被运行一次。而Action用来存放用户的操作,可以当做普通的函数在负载时会被反复运行。Recordtheapplicationstartup:单击OK按钮后VuGen会启动我们需要录制的应用,这个选项是指一旦启动了应用后就将开始录制应用收发的协议数据。为了确保录制出来的脚本简洁有效,在开始录制前需要对录制选项进行一定的设置。录制选项在不同的协议下录制选项各不相同,这里介绍基于Web(HTTP/HTML)协议录制选项的设置,如图3.12所示。图3.12HTML协议录制选项GeneralScript:基于Web(HTTP/HTML)协议的Vuser脚本是使用C语言作为标准的。在不同的协议下,所使用的语言也不相同。在Script选项中提供了一些对于脚本的基本设置。例如这里可以通过Maximumnumberoflinesinactionfile设置每个Action中的最大代码行数。Protocols:协议列表,在这里会列出录制前选中的所有协议,通过修改协议前的选项来决定使用什么协议来录制脚本,在多协议的时候可以通过这个功能切换录制所使用的协议或补录某些协议的内容,如图3.13所示。Recording:录制选项用于设置Web(HTTP/HTML)使用什么样的录制方式来获得脚本,这里提供了两大类的录制方式,如图3.14所示。HTML-basedScript:这种方式录制出来的脚本是基于HTML的,以HTML操作为录制级别,非HTML操作不进行录制。由于现在使用的B/S架构网站都是基于HTML,第3章用户行为模拟性能测试进阶指南——LoadRunner9.1实战51也就是说访问的页面都是从一个HTML跳转到另外一个HTML,那么录制的时候只需要得到针对HTML的请求即可。图3.13协议激活列表图3.14录制级别选项下面打开HTMLAdvanced…高级选项,弹出如图3.15所示的对话框。图3.15HTML-basedscript高级设置Scripttype提供了基于HTML方式下的两种不同的脚本类型。1.高级选项下的Scripttype脚本类型选项Ascriptdescribinguseractions基于解释用户行为的脚本,后面提示使用类似web_link、web_submit_form等的函数,这种脚本录制出来有些类似于QTP,具体描述了用户进行了什么操作。现在我们使用这种方式录制一个脚本(打开WebTours网站,然后单击signupnow),录制完成后可以得到以下脚本:web_add_cookie(login=admin%2Czh;DOMAIN=127.0.0.1);web_url(WebTours,URL==0,RecContentType=text/html,Referer=,Snapshot=t1.inf,Mode=HTML,性能测试进阶指南——LoadRunner9.1实战性能测试进阶指南——LoadRunner9.1实战52LAST);web_link(signupnow,Text=signupnow,Snapshot=t2.inf,LAST);下面我们简单分析一下这个脚本的组成。web_add_cookie(login=admin%2Czh;DOMAIN=127.0.0.1);这个函数是由LoadRunner提供的,根据函数的名称也可以大概猜到其功能,函数web_add_cookie()主要负责为Vuser脚本添加一个cookie信息。web_url(WebTours,URL==0,RecContentType=text/html,Referer=,Snapshot=t1.inf,Mode=HTML,LAST);这个函数的内容很多,不过从URL=可以看出实现访问网站首页是通过这个函数实现的,也就是说在地址栏里输入地址后按回车键的操作其实就是进行了这个函数的模拟请求。web_link(signupnow,Text=signupnow,Snapshot=t2.inf,LAST);web_link是使用Ascriptdescribinguseractions选项才可以得到的,这个函数就是单击signupnow连接的操作,在这个函数中说明了需要单击的链接名。补充:web_link()函数详解web_link()VuGenweb_link()VuGenURLweb_link()web_link(“在测试结果中显示的名称”,“TEXT=需要单击的超链接名”,LAST);TestResultlinksignupnow3.16web_linksignupnow….Text=第3章用户行为模拟性能测试进阶指南——LoadRunner9.1实战53TextAction.c(17):Error-27995:Requestedlink(Text=signupnow)notfound[MsgId:MERR-27995]Action.c(17):web_link(signupnow)highestseveritylevelwasERROR,0bodybytes,0headerbytes[MsgId:MMSG-26388]signupnowweb_link“Snapshot=t2.inf”用来说明该操作后的内容会被抓图保存到文件t2.inf中。最后的LAST表明这
本文标题:样章性能测试进阶指南LoadRunner 9.1实战_03 09-259
链接地址:https://www.777doc.com/doc-4306892 .html