LoadRunner创建测试脚本教程.docx
- 文档编号:26859599
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:26
- 大小:323.29KB
LoadRunner创建测试脚本教程.docx
《LoadRunner创建测试脚本教程.docx》由会员分享,可在线阅读,更多相关《LoadRunner创建测试脚本教程.docx(26页珍藏版)》请在冰豆网上搜索。
LoadRunner创建测试脚本教程
LoadRunner创建测试脚本教程
开发LoadRunner脚本需要通过图2-1所示的几个步骤。
在录制脚本时要遵循以下录制原则:
1.提升脚本执行效率
所录制的脚本内容要精练,而且是用户的真实操作,不可增加余外或重复性的操作,如此的脚本执行起来更能准确地模拟用户的真实行为,减少了执行时刻,执行结果更准确。
2.录制具有代表性的功能
在一个软件中有专门多不同的功能,但要录制所有的功能几乎是不可能的,因此要选择常用的、使用频率较高的业务功能来进行测试。
3.选择具有阻碍的事务
测试人员要对被测功能具有一定的认识和了解,选择一些关于整个测试过程中有阻碍的事务来测试,否则测试结果是无意义的。
当启动VisualUserGenerator后会显现选择脚本类型的对话框,在此对话框中,请选择我们常用的脚本类型,也确实是Web(HTTP/HTML)协议,这是最为常见的。
以下脚本介绍以此类型为例。
2.1.1 录制一般脚本
启动VisualUserGenerator,在弹出的对话框中选择需要新建的协议脚本,通过VuGen能够采纳单协议或多协议模式,进行脚本的录制。
选择单协议依旧多协议,按照测试程序的实际需要而定。
1.选择协议
采纳单协议模式时,VuGen将只录制指定的协议;采纳多协议模式时,VuGen将录制多个协议中的操作。
下列协议支持多协议脚本:
COM、FTP、IMAP、OracleNCA、POP3、RealPlayer、WindowSockets(原始)、SMTP和Web。
“双协议Web/WebServices”的引擎使用一种不同的机制,应视为单协议,不能与其他多协议类型结合使用。
各种Vuser类型之间的另一个区别是多操作支持功能。
大多数协议都可支持多个操作部分,如OracleNCA、Web、RTE、General(CVusers)、WAP、i-Mode和VoiceXML等协议。
关于大多数Vuser类型,在每次录制时都会新建一个Vuser脚本,而不能在现有脚本中进行录制。
然而,在录制Java、CORBA-Java、RMI-Java、Web、WAP、i-mode、VoiceXML、OracleNCA或RTEVuser脚本时,能够在现有脚本中进行录制。
创建脚本时,单击“New”(新建)打开“NewVirtualUser”(新建Vuser)对话框,该对话框可提供选择录制脚本协议的快捷方式。
(1)单协议脚本:
创建单协议Vuser脚本,这是“Startup”(启动)对话框打开时的默认选项。
从Vuser生成器的“类别”中进行选择,并选择录制脚本的协议,如图2-2所示。
图2-2 选择单协议脚本
(2)多协议脚本:
创建多协议Vuser脚本,VuGen将显示所有可用的协议。
选择一个协议后,单击右箭头,将其移入“SelectedProtocols”(选定的协议)部分中,如图2-3所示。
图2-3 选择多协议脚本
(3)使用最近使用过的协议新建脚本:
从最近创建脚本的协议中选择差不多使用过的协议,同时这些协议差不多体现了录制脚本类型,如图2-4所示。
图2-4 选择最近使用的协议
2.开始录制
假设需要测试的是Web应用,选择“Web(HTTP/HTML)”协议,单击“OK”按钮确定后,进入主窗体,如图2-5所示。
图2-5 录制结果的主窗体
单击工具栏中“StartRecord”按钮,按照录制的对话框,输入要测试程序的地址,开始进行录制。
通过“Vuser”菜单来启动录制脚本的命令,如图2-6所示。
图2-6 选择录制按钮
也能够在工具栏中直截了当单击“StartRecording”按钮,但录制之前还要进行相应的设置,如图2-7所示。
图2-7 录制配置界面
(1)环境设置
第一,勾选“Recordtheapplicationstartup”,单击“OK”后,就会自动启动要测试的程序,还能够选择要把录制的脚本放到哪一个部分,默认情形下是“Action1”。
然后,单击左下角的“Options”按钮,进入录制环境设置界面,如图2-8所示。
Ÿ “Recording”标签页:
默认情形下选择“HTML-basedScript”,讲明脚本中采纳HTML页面的形式,这种方式的Script脚本容易爱护和懂得,举荐用这种方式录制。
“URL-basedScript”讲明脚本中的表示采纳基于URL的方式,WAS和ACT中的录制方式确实是这种,这种方式看上去比较乱。
其他标签页功能讲明如下,如有需要可作相应的设置。
Ÿ “Browser”标签页:
扫瞄器的选择。
Ÿ “RecordingProxy”标签页:
扫瞄器上的代理设置。
图2-8 环境设置界面
Ÿ “Advanced”标签页:
能够设置录制时的摸索时刻(ThinkTime)、支持的字符集标准等。
Ÿ “Correlation”标签页:
手工设置关联,通过关联可在测试执行过程中储存动态值。
使用这些设置能够配置VuGen在录制过程中执行的自动关联的程度。
(2)脚本内容
在录制过程中,能够单击“Pause”(暂停录制)按钮,在脚本中插入事务、注释和集合,防止在录制完成后再插入这些事务找不到具体位置。
当业务流程完成后,单击“Stop”(停止录制)按钮,会自动生成脚本,退出录制过程,如图2-6所示。
单击“Save”(储存)按钮,起个与实际业务有关系的名字,储存到相应的位置。
使用VuGen录制之后生成的每个Vuser脚本都至少包含vuser_init、一个或多个Actions及vuser_end等三部分。
在通常情形下,将登录到服务器的活动记录在vuser_init部分中,将客户端活动录制到Actions部分中,并将注销过程录制到vuser_end部分中。
因为运行多次迭代的Vuser脚本时,只有脚本的Actions部分重复,而vuser_init和vuser_end部分将不重复。
脚本图例如图2-9所示。
图2-9 脚本图例
在录制脚本期间,发出的消息能够通过日志来查看,选择“View”>“OutputWindow”,然后选择“RecordingLog”选项卡。
能够在“RuntimeSetting”的“Log”选项卡中设置该日志的详细级别,如图2-10所示。
图2-10 录制日志
录制时,VuGen会创建一系列配置、数据和源代码文件。
这些文件包含Vuser运行时和设置信息。
VuGen会将这些文件连同脚本一起进行储存。
至此,一个完整的Vuser脚本录制完成。
多协议脚本的录制与单协议脚本的录制过程差不多相同,只是比单协议脚本的录制多一个选项界面,如图2-11所示。
在此界面中单击协议,能够进行添加和删除协议的操作。
在协议前的复选框中打对号,即为选中,否则删除。
图2-11 添加协议
2.1.2 录制WebServices脚本
在进行性能测试时,大部分对Web性能测试,选择“Web(HTTP/HTML)”协议即可,但录制完脚本后,回放脚本过程中有时会发生中断或停止的情形,查看错误时,如果无法找到SOAP文件字样时,就需要考虑更换脚本录制协议了。
通常第一考虑更换WebServices协议,再次录制脚本,咨询题就相应解决了。
在录制WebServices脚本前,第一对WebServices做一个简要的介绍,如此有助于读者或者测试人员能够更好地利用WebServices协议录制脚本。
1.什么是WebServices
WebServices是一种构建应用程序的一般模型,并能在所有支持Internet通信的操作系统上实施运行。
WebServices令基于组件的开发和Web的结合达到最佳,基于组件的对象模型,如:
分布式组件对象模型(DistributedComponentObjectModel,DCOM)、远程方法调用(RemoteMethodInvocation,RMI)、互联网内部对象要求代理协议(InternetInter-OrbProtocol,IIOP)都差不多公布专门长时刻,然而它们都依靠于专门对象模型协议。
而WebServices利用SOAP和XML对这些模型在通信方面作了进一步的扩展,以排除专门对象模型的障碍。
进一步地,WebServices还基于HTTP和SOAP协议,使得Web用户通过Web调用的方法使用SOAP和HTTP来调用远程对象,确保业务数据得以在Web上传输。
2.WebServices结构
客户按照WSDL描述文档,会生成一个SOAP要求消息。
WebServices差不多上放在Web服务器(如IIS)后面的,客户生成的SOAP要求会被嵌入在一个HTTPPOST要求中,发送到Web服务器,Web服务器再把这些要求转发给WebServices要求处理器。
要求处理器的作用在于,解析收到的SOAP要求,调用WebServices,然后再生成相应的SOAP应答。
Web服务器得到SOAP应答后,会再通过HTTP应答的方式把信息送回到客户端。
3.WebServices体系
WebServices体系要紧包括以下几个方面:
(1)WebServices包括3种组件。
(2)WebServices提供3种操作。
公布/不公布(Publish/Unpublish):
服务提供者向服务代理者公布(注册)服务或不公布(移去)这些服务的注册;
发觉(Find):
由服务要求者向服务代理者执行发觉操作,服务要求者描述要找的服务,服务代理者分发匹配的结果;
绑定(Bind):
在服务要求者和服务提供者之间绑定,这两部分协商以使要求者能够访咨询和调用提供者的服务。
(3)UDDI规范
统一描述、发觉和集成(UniversalDescriptionDiscoveryandIntegration,UDDI)是一个WebServices的信息注册规范,基于UDDI的WebServices注册能够被发觉。
UDDI的核心部分是UDDI业务登记逻辑,即在Web上有一种分布的注册服务,这种服务以一种通用的XML格式进行描述。
通过XML中的结构化描述,能够专门方便地在互联网上发觉需要的数据,进而方便进行分析和操作。
从概念上看,一个UDDI业务登记逻辑所提供的信息包括三个部分:
“白页”包括地址、协议和已有标识;“黄页”包括基于分类标准的工业类型;“绿页”是关于企业所包含的服务技术信息,包括网络服务讲明参考和按照发觉机制对各种文件和网址提供的标识支持。
(4)网络服务描述语言(WSDL)
网络服务描述语言(WebServicesDescriptionLanguage,WSDL)遵循XML语法,为服务提供者提供了描述构建在不同协议或编码方式之上的WebServices要求差不多格式的方法。
WSDL用来描述一个WebServices能做什么,它的位置在哪里,如何调用它等。
在假定以SOAP/HTTP/MIME作为远程对象调用机制的情形下,WSDL会发挥最大作用。
UDDI注册描述了WebServices绝大多数方面,包括服务的绑定细节。
WSDL能够看作是UDDI服务描述的子集。
WSDL将服务定义为一个网络端点的集合,或者讲端口的集合。
在WSDL里面,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的。
如此就能够重用这些抽象定义:
消息(需要交换的数据的抽象描述)和端口类型(操作的抽象集合)。
针对一个特定端口类型的具体协议和数据格式规范构成一个可重用的绑定。
一个端口定义成网络地址和可重用的绑定的连接,端口的集合定义为服务。
因此,一个WSDL文档在定义WebServices时使用如下的元素:
类型——使用某种类型系统定义数据类型的容器;
消息——通信数据抽象的有类型的定义;
操作——服务支持动作的抽象描述;
端口类型——操作的抽象集合,该操作由一个或多个端点支持;
绑定——针对一个特定端口类型的具体协议规范和数据格式规范;
端口——单一的端点,定义成一个绑定和一个网络地址的链接;
服务——有关端点的集合。
不难看出,WSDL给客户提供了一个模板,方便客户描述和绑定服务。
上面简单介绍了WebServices差不多的知识,下面采纳WebServices单协议进行简要的脚本录制,读者可结合录制脚本的过程进一步了解它,具体步骤如下:
选择“开始”>“程序”>“LoadRunner”>“VirtualUserGenerator”(Vuser生成器),启动VuGen。
在VuGen的“File”下拉菜单中选择“New”,新建一个脚本;从“Category”(类别)列表中选择“WebServices”协议,单击“OK”按钮开始录制Vuser脚本。
第一配置WebServices录制向导,配置程序录制的方式。
“RecordClientApplication”方式是通过客户端进行录制的,“ScanWSDLfile”方式需要录入WSDL文件才可录制,在那个地点选择“RecordClientApplication”进行录制,如图2-12所示。
“SpecifyWSDLfilesforrecording”向导用于配置WDSL文件,由于选择“RecordClientApplication”的录制方式,因此在此选择“DonotuseWSDLfileduringrecording”,表示不利用WSDL文件进行录制,如图2-13所示。
图2-12 WebServices录制界面1 图2-13 WebServices录制界面2
“Specifyapplicationtorecord”向导用于配置程序的访咨询地址、扫瞄器和录制脚本中的一些初始化设置。
在URL中添加测试程序的访咨询地址;如果程序需要其他的扫瞄器,选择“Recordanyapplication”进行其他扫瞄器的设置,那个地点不需要专门的扫瞄器,因此不选择此项;“Recordintoaction”选项用于指定把录制的脚本放到哪一个部分,一样初始化放在vuser_init中,循环部分在Action中,终止退出部分放在vuser_end中,如图2-14所示。
如有需要请单击后面的“AdvancedDetails”按钮,能够详细地配置“OptionsRecording”用来录制脚本,那个地点不介绍OptionsRecording,在以后的章节中有详细的介绍。
单击“完成”按钮即可完成WebServices的向导配置。
然后VuGen将按照程序的访咨询地址自动启动应用程序,并显示“Recording…”(录制)工具栏,开始脚本的录制,如图2-15所示。
图2-14 WebServices录制界面3
图2-15“Recording…”工具栏
在整个操作过程完成后,单击“停止”按钮,脚本录制终止,LoadRunner自动把录制的内容储存在脚本中。
在录制完毕的脚本中会显现一些函数,在后面章节中会详细介绍这些函数的使用方法。
一个生成的WebServices的脚本节选如图2-16所示。
图2-16 WebServices脚本图例
如此就完成了WebServices单协议脚本的录制过程。
2.1.3 回放脚本及调试
录制完脚本后,需要单机运行一下脚本,因为在录制脚本的过程中可能会显现错误。
例如:
有些连接、图片或界面无法找到,需要调试;有些地点需要参数化,只有唯独值才能执行通过;还有可能回放脚本时显现-404、-500等错误页面,发生超时等现象。
这时就需要把这些咨询题解决掉。
单击工具栏中的“Compile”按钮,查看脚本中是否有语法或者乱码错误,如果显现错误需要手工及时调试,如果没有错误,在执行日志中显示“Noerrordetected”消息提示。
然后,单击工具栏中的“Run”按钮,开始执行脚本,在执行脚本期间,同样能够通过日志来查看发出的一些消息。
选择“View”>“OutputWindow”,再选择“ExecutionLog”选项卡。
如果有错误,VuGen将会提示错误。
双击错误提示,VuGen能够定位到显现错误的那一行,如图2-17所示。
图2-17 提示运行脚本错误
单机运行测试脚本后,如果编译通过,就会开始运行,运行结果如图2-18所示。
在每次单击回放脚本后,都会显现如图2-18所示的运行结果页。
在结果页中能够清晰地看到脚本运行的情形,显示整个运行过程中显现成功、失败和警告情形各自的运行时刻,同时记录下整个运行开始、终止的日期和时刻。
图2-18 单机运行脚本结果
如果整个运行过程成功,在页面的左侧是整个脚本的树型结构,显示出的每个脚本的控件名称前都有绿色对号的标志,例如图片、链接、提交表单等,如图2-19所示。
图2-19 运行成功时的结果页
单击某个控件,在其右边便显示出其控件的页面或相应的运行步骤,如图2-20所示。
图2-20 显示运行成功步骤
在此结果页中还能够检测脚本中控件或者其他错误,如果脚本回放显现错误的话,会在相应控件前显现红色叉号的错误提示,如图2-21所示。
图2-21 运行失败的结果页
单击其控件后,在右边显现脚本未通过的具体缘故,以便查找出错位置进行改正,如图2-22所示。
图2-22 定位运行失败
脚本录制、调试完成后,还能够通过插入事务、集合点等操作来完善、增强脚本。
2.1.4 完善脚本
什么原因要完善增强脚本呢?
第一,为了衡量服务器的性能,需要定义事务(Transaction)。
例如在脚本中有一个数据查询操作,为了衡量服务器执行查询操作的性能,能够把那个操作定义为一个事务。
如此在运行测试脚本时,LoadRunner运行到该事务的开始点时,就会开始计时,直到运行到该事务的终止点,计时终止。
那个事务的运行时刻在测试结果中会有反映。
LoadRunner承诺在脚本中插入不限数量的事务。
在方案执行期间,操纵台将测量执行每个事务所用的时刻。
方案运行后,可使用LoadRunner的图和报告来分析各个事务的服务器性能。
其次,使用集合点是为了衡量在加重负载的情形下服务器的性能情形。
在测试打算中,可能会要求系统能够承担多人同时提交数据,LoadRunner通过在提交数据操作前面加入集合点的方法,检查同时有多少用户运行到集合点,人数不足时,LoadRunner会命令差不多到集合点的用户等待,当在集合点等待的用户达到要求容纳的人数(如1000人)时,LoadRunner向系统提交数据。
在脚本中加入集合点后,操纵台运行脚本时,能够对集合点进行策略设置,如此就能够按照实际情形在系统上模拟用户负载了。
再次,在录制过程中最好加入注释,因为在录制完脚本后看到的差不多上脚本代码,操作复杂的业务无法找到相应的位置进行关联或者参数化的动作,这时,注释就显得尤为重要。
最后,LoadRunner提供了专门多函数,有些函数是在录制时按照不同的协议自带的函数。
其中有些函数是供手工添加的,这就要按照实际情形进行添加了。
例如脚本关联,有些变量无法实现系统自动关联,只能添加函数进行手动关联。
在录制完成的脚本中,还能够按照实际情形,添加事务、集合点、注释、函数等内容来增强脚本,进一步完善。
下面逐一进行介绍。
1.插入事务
脚本中插入事务既能够在录制过程中直截了当插入,也能够在脚本录制终止后经编辑插入。
建议采纳在脚本的录制过程中插入事务的方法,如此不至于遗漏程序中应插入事务的操作。
在需要插入事务的操作前,通过工具栏上的“StartTransaction”(开始事务)按钮插入事务,事务的名称最好有意义,如此在最后分析系统时,有助于发觉系统的瓶颈点是否在具体的事务中。
具体的操作方法如下:
在录制Vuser脚本时,在需要定义事务的操作前面,单击“录制”工具栏上的“StartTransaction”菜单项,将打开“StartTransaction”对话框,如图2-23所示。
接着显现如图2-24所示的对话框。
图2-23 插入事务开始点 图2-24 输入事务开始名称
在给事务起名字时,事务名必须以字母或数字开始,能够包含字母、数字或者下列字符:
!
、$、%、&、’、-、[、^、_、`、<、>、{、}、|或~。
填写好事务名称后,就能够对系统进行操作,单击“OK”同意该事务名称。
VuGen将自动在Vuser脚本中插入事务的起始标志(“lr_start_transaction”)和终点标志(“lr_end_transaction”)。
起点和终点之间的内容确实是录制或者编写的测试事务脚本。
在录制脚本过程中,随时能够单击“录制”工具栏上的“EndTransaction”菜单项,终止录制,如图2-25所示。
图2-25 插入事务终止点
现在会显现如图2-26所示的终止事务的对话框。
单击“TransactionName”下拉框的箭头获得已打开事务的列表,选择要关闭的事务。
事务的状态在默认情形下是LR_AUTO。
一样情形下,也不需要修改,除非在手工编写代码时,有可能需要手动设置事务的状态。
单击“OK”按钮同意该事务名称。
脚本中事务的代码如图2-27所示。
图2-26 选择要终止事务的名称 图2-27 插入事务图例
当终止事务时,通过工具栏上的“EndTransaction”按钮,终止事务。
在终止列表中会显示最近定义的事务的名称,只要选择自己新建的事务的名称即可终止该事务。
如此就完成了事务的插入操作。
2.插入集合点
集合点只能在Action中插入,不能在vuser_init或vuser_end中插入。
在需要插入集合点的操作前,通过工具栏上的集合点按钮插入集合点,并在集合点的输入框中输入集合点的名称。
集合点的名称最好是有意义的名称,如此有助于在系统分析时,分析系统的瓶颈所在。
插入集合点具体的操作方法如下:
在录制Vuser脚本时,在需要插入集合点的位置,单击“录制”工具栏上的“集合点”按钮或单击“Insert”菜单下的“Rendezvous”子菜单。
将打开“Rendezvous”(集合点)对话框,如图2-28所示。
图2-28 插入集合点
接着,显现如图2-29所示的对话框。
输入该集合点的名称,注意,名称最好能够清晰地讲明该集合点所完成的动作。
脚本中集合点的代码如图2-30所示。
图2-29 输入集合点名称 图2-30 插入集合点图例
3.插入注释
注释能够在录制脚本时插入,也能够在脚本录制后插入,其顺序对程序分析没有阻碍。
在需要插入注释的操作前,通过工具栏上的“注释”按钮或者“Insert”菜单下的“Comment”子菜单插入注释。
在“InsertComment”对话框中输入对操作的注释,以便于对脚本的重复使用。
在需要插入注释的位置,通过菜单或者工具栏操作,如图2-31所示。
图2-31 插入注释
接着,显现如图2-32所示的对话框。
脚本中注释的代码如图2-33所示。
图2-32 输入注释内容 图2-33 插入注释图例
4.插入函数
在录制脚本的过程中,按照不同的协议,会用到不同的函数,在此介绍几个脚本中比较常见的函数,期望初学者能对插入函数的差不多操作方法有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LoadRunner 创建 测试 脚本 教程