相信做性能测试工作的人都知道LoadRunner能够将GUI Vuser脚本形式的功能测试脚本集成到负载测试场景中。这样就可以使用LoadRunner来测试和监控负载对应用程序功能的影响。LoadRunner可以将GUI Vuser脚本形式的这些功能测试脚本集成到负载测试场景中,在QuickTest或WinRunner中设计并调试过的这些脚本可用作负载测试的基础。
在LoadRunner中运行功能测试脚本主要有以下几个优点:
可检查高负载对应用程序的功能带来的影响。
可以度量应用程序在负载下运行时,典型用户在客户端等待的响应时间(端到端的响应时间)。
通过GUI Vuser可以度量并监控客户端/服务器系统在负载下端到端的用户响应时间。端到端的响应时间表示用户在提交请求后等待响应的总时间。端到端的响应时间包括GUI响应时间、网络和服务器响应时间,如图7-26所示。
图7-26 GUI响应时间
一、QuickTest创建GUI Vuser脚本
在QuickTest中创建用于LoadRunner测试场景中的GUI Vuser脚本时,需要遵循特定的准则以确保能够平衡集成脚本。QuickTest具有多项与LoadRunner集成设计的功能。但部分QuickTest功能可能在与LoadRunner集成时不可用。QuickTest与LoadRunner集成要注意以下几个方面。
1、事务
在一些时候为了知道服务器对某一个业务的处理能力,需要定义事务。在Vuser脚本中可以通过嵌入适当的开始和结束事务语句脚本段来定义事务。但要注意的是LoadRunner仅提供事务中数据性能信息。因此,QuickTest测试必须包括LoadRunner要使用的事务。通常在QuickTest中也使用插入开始事务和插入结束事务来插入事务。这样可以确保事务被正确地集成到LoadRunner中。
2、将集成数据与测试一起保存
QuickTest为了能与LoadRunner虚拟用户技术集成,必须生成特殊的集成文件。在默认情况下,生成这些数据的选项都是处于开启状态,但有时为了保留磁盘空间而禁用该选项。这样在录制时就要确保该选项处于开启状态。
在QuickTest中,选择Tools→Options对话框,打开Run选项卡,如图7-27所示。在这里一定要保证Allow other Mercury products to run tests and components选项处于选中的状态,如果没有选中,则将其选中并保存设置。
图7-27 设置集成数据与测试一起保存
3、添加语句
可以使用Services对象及其相关方法来插入与性能测试相关的语句,主要包括;Abort、GetEnvironmentAttribute、LogMessage、SetTransactionStatus、ThinkTime、UserDataPoint、StartTransaction及EndTransaction。
4、为LoadRunner设计测试
在设计要用于LoadRunner的测试时,需要考虑以下设计准则:
LoadRunner中使用的QuickTest测试应该简单,并专门针对特定的操作。
LoadRunner无法运行嵌入式操作迭代。
请勿引用外部操作或其他外部资源,如外部数据表文件、环境变量文件和共享对象库等。
二、 WinRunner创建GUI Vuser脚本
WinRunner是一个基于Windows平台,用于创建、编辑和调试GUI Vuser脚本的完整开发环境。通过WinRunner可记录真实用户在应用程序中的操作。
WinRunner的GUI Vuser脚本是使用TSL(Mercury Interactive的测试脚本语言)编写的。TSL是一种与C类似的高级编程语言。它结合了传统编程语言的功能和灵活性以及专为测试设计的功能。但是WinRunner中创建的Vuser脚本是不能在UNIX计算机上运行的。
同样,使用WinRunner创建GUI Vuser脚本时,要注意以下几个方面:
1、插入事务和集合点
插入事务和QuickTest一样,直接使用事务函数插入开始事务与结束事务,集合点方面将Rendezvous语句插入到Vuser脚本中即可。
2、向Controller发送消息
运行场景时,Controller的“输出”窗口显示有关脚本执行情况的重要信息。除了WinRunner自动发送的消息外,还可以在每个脚本中插入向Controller发送错误消息和通知消息的语句。
error_message函数用于向Controller的“输出”窗口或Console发送错误消息。此函数的语法为:
error_message(message);
其中message为文本字符串。
output_message函数用于发送不是错误消息的特殊通知。此函数的语法为:
output_message(message);
其中message为文本字符串。
在执行场景或会话步骤间,可以识别以下对象:
某特定时刻在场景中执行任务的Vuser。
执行脚本的负载发生器。
运行Controller的计算机。
而有关Vuser和负载发生器的信息可以通过以下函数来获取:
lr_whoami:返回Vuser名称及其所属的Vuser组。
get_host_name:返回执行脚本的计算机名称。
get_master_host_name:返回运行Controller或Console的计算机名称。
三、场景中使用GUI Vuser脚本
在QuickTest或WinRunner中创建GUI Vuser脚本后,便可以将该脚本集成到LoadRunner场景中。在将GUI Vuser脚本添加到LoadRunner场景前,要注意以下几个问题:
每台计算机上每次只能运行一个GUI Vuser。
请确保在运行场景前关闭Q uickTest或WinRunner。
在Run-time Settings for script设置对话框中,只有General类中的Run Logic和Think Time与QuickTest和WinRunner测试有关,如图7-28所示。
接下来就是要将GUI Vuser添加到LoadRunner场景中,在控制器界面,选择File→Open,在弹出的对话框中选择要添加的GUI Vuser脚本。也可以选择File→New,在弹出的New Scenario对话框中点击 “Browse”按钮,弹出Open Test对话框,选择要添加的GUI Vuser脚本。这里有一个“文件类型”框,如图7-29所示。对于WinRunner来说,选择“GUI Scripts”文件类型。对于QuickTest来说,选择“Astra Tests”文件类型。确定文件类型后,选择合适的脚本并进行添加即可。
图7-28 与QuickTest和WinRunner有关项
图7-29 文件类型选择
本章关于“如何在LoadRunner中使用功能测试脚本”的内容就给大家讲解完啦,喜欢的话记得每天来这里和小编一起学习涨薪技能哦。(笔芯)
川石学院零基础入门到精通课程免费学习即扫下方二维码,名师在线辅导!
附:川石信息全国校区最新开班时间,课程资料获取13691729932(微信同号)。