rational Robot中文参考.docx
《rational Robot中文参考.docx》由会员分享,可在线阅读,更多相关《rational Robot中文参考.docx(54页珍藏版)》请在冰豆网上搜索。
rationalRobot中文参考
RationalRobot基础使用手册
第一章绪论
一、概述
RationalRobot可开发三种测试脚本:
用于功能测试的GUI脚本、用于性能测试的VU以及VB脚本。
RationalRobot作用
1、执行完整的功能测试。
记录和回放遍历应用程序的脚本,以及测试在查证点(verificationpoints)处的对象状态。
2、执行完整的性能测试。
Robot和TestManager协作可以记录和回放脚本,这些脚本有助于你断定多客户系统在不同负载情况下是否能够按照用户定义标准运行。
3、在SQABasic、VB、VU环境下创建并编辑脚本。
Robot编辑器提供有色代码命令,并且在强大的集成脚本开发阶段提供键盘帮助。
4、测试IDE下VisualBasic、OracleForms、PowerBuilder、HTML、Java开发的应用程序。
甚至可测试用户界面上不可见对象。
5、脚本回放阶段收集应用程序诊断信息,Robot同RationalPurify、Quantify、PureCoverage集成,可以通过诊断工具回放脚本,在日志中察看结果。
Robot使用面向对象记录技术:
记录对象内部名称,而非屏幕坐标。
若对象改变位置或者窗口文本发生变化,Robot仍然可以找到对象并回放。
同其他组件集成使用Robot
1、RationalAdministrator:
用于集中管理Rational项目。
2、RationalTestManager(日志)和Comparators:
用于回顾和分析测试结果。
3、RationalSiteCheck:
用于管理互联网和企业互联网网页站点。
同其他Rational产品集成使用Robot
1、用RationalTestFactory测试应用程序;
2、用RationalClearQuest管理缺陷;
3、在回放期间收集诊断信息;
4、用RationalTestManager做性能测试;
5、用RationalRequisitePro做需求管理。
二、基本概念
VU和GUI脚本组成部分
1、由Robot或者TestManagerSuite生成的可运行文件。
2、脚本属性集,例如类型和脚本目标。
VU和GUI脚本的异同
方面
GUI脚本
VU脚本
并发性
在一台计算机上同时只能执行一个GUI脚本。
在一台计算机上同时可以执行多个VU脚本。
语言
包括对GUI对象的键盘敲击以及鼠标点击行为,
脚本用SQABasic语言写成。
包括客户端发送到服务器的要求,
脚本用VU语言写成。
测试领域
用于功能测试和性能测试。
通常用于加入用户负载的性能测试,
例如:
测试不同负载下服务器响应时间。
查证点
可以包括查证点,
用于比较记录回放时捕获的信息。
不支持查证点。
执行
既可在Robot中执行,
也可以作为TestManagerSuite的一部分执行。
作为TestManagerSuite的部分执行。
在同一脚本中,不能混合SQABasic和VU代码。
RationalTest中的两种模拟用户
1、GUI用户:
单用户,模拟前台的实际用户操作。
2、虚拟测试者:
多用户,虚拟测试者模拟发送到数据库、Tuxedo或者Web服务器的请求,Robot记录网络流量等后台,忽略前台GUI操作。
RationalTest中的两种测试类型
1、功能测试:
Robot是一种用于功能测试的计划、开发、执行和分析工具;
2、性能测试:
Robot和TestManager结合用于性能测试。
第二章使用
一、GUI脚本
(一)、设置以及预定义
应该先在应用程序开发和测试过程早期制定计划使用Robot。
如果在应用程序初始版本中存在任何WindowsGUI对象(比如菜单、对话框),可以使用Robot来记录相应的查证点。
编写脚本之前的准备工作
1、为脚本建立可预计的起始和结束状态;
2、安装测试环境;
3、创建模块脚本;
4、转换应用程序使其可测试。
加载IDEExtensions
加载IDEExtensions。
始终加载对C++应用程序的支持。
设置GUI记录选项
GUI记录选项提供如何记录和产生GUI脚本的Robot指令。
可以在记录之前,也可以在记录过程早期设置这些选项。
1、按照如下任一步骤打开GUIRecordOptions对话框:
●在开始记录之前,点击Tools菜单下GUIRecordOptions;
●在快捷栏上点击RecordGUIScript按钮开始记录,在RecordGUIScript对话框上点击“Opitions…”按扭;
2、在每页选项卡上设置选项,需要细节帮助可以点击对话框顶部“?
”按钮,再单击项目;
3、单击确定按钮。
选项设置中的一些重要特性
●脚本自动命名;
●控制Robot响应未知对象;
●选择对象参考顺序。
脚本自动命名
1、打开GUIRecordOptions对话框;
2、在General页面,在Prefix框中输入前缀,如果不希望有前缀,则清空该编辑框,以后每次记录新脚本都需要输入名称;
3、点击确定按钮。
控制Robot响应未知对象
1、打开GUIRecordOptions对话框;
2、在General页面对Defineunknownobjectsastype"Generic"操作,选中表示Robot遇上未知对象时,将其作为通用对象处理,否则在记录时Robot挂起,打开DefineObject对话框来关联对象到类;
3、点击确定。
也可以在开始纪录之前映射对象类型以及类。
类名称到对象类型的定制映射关系对于项目的所有用户都是共享的。
选择对象参考顺序
Robot有两种识别标准对象类型方法顺序的预定义参考,缺省识别顺序和C++识别顺序(用于测试C++应用程序)。
改变对象参考顺序步骤如下:
1、打开GUIRecordOptions对话框;
2、点击ObjectRecognitionOrder页面;
3、更改对象识别参考顺序;
4、点击确定按钮。
设置Robot窗口选项
需要在记录期间改变Robot主窗口缺省行为,按照以下步骤配置:
1、打开GUIRecordOptions对话框;
2、选中RobotWindow页面;
3、在DuringRecord下点击选项;
4、点击确定按钮。
在回放时改变Robot主窗口缺省行为:
1、打开GUIPlaybackOptions对话框;
2、在Playback页面,点击RobotWindow下的选项按钮;
3、点击确认按钮。
改变热键
可以利用热键隐藏和显示RobotWindow,并在面向对象和低级录制之间切换。
Robot热键在录制期间激活,并且不记入脚本,热键有缺省值。
改变热键步骤如下:
1、打开GUIRecordOptions对话框;
2、点击RobotWindow页面;
3、改变热键;
4、点击确定按钮。
(二)、记录GUI脚本
除了面向对象记录技术,Robot还支持底层记录技术,该技术在需要跟踪鼠标行为细节的功能测试时很有用,比如绘制应用程序。
GUI记录工作流程
1、按照指导,为脚本确定可预测的起始状态和结束状态,安装测试环境,创建模块脚本,并且使应用程序可测。
2、设置记录选项,也可在记录开始后设置;
3、开始记录;
4、在测试环境下启动应用程序,必须按照期望回放的方式正确启动应用程序;
5、在应用程序中执行系列行为;
6、加入必要的特写,例如查证点、注释以及计时器;
7、如有必要,将面向对象记录切换至底层记录方式;
8、结束记录会话;
9、可选操作,通过文件菜单下属性菜单项定义脚本属性,在TestManager中也可以定义脚本属性。
记录新的GUI脚本
1、按照指导,为脚本确定可预测的起始状态和结束状态,安装测试环境,创建模块脚本,在TestManager中建立脚本计划,并且使应用程序可测;
2、如果可能,使应用程序可测,加载IDEExtensions;
3、记录之前设置记录选项,也可以在开始后设置;
4、点击快捷栏上的“RecordGUIScript”快捷按钮;
5、输入脚本名称(最多40字符)或者从脚本列表中选择一个;
6、要改变记录设置,点击“Options…”按钮,完成设置后点击确定按钮;
7、如果选中一个预定义或者已记录脚本,你可以通过Properties菜单项设置脚本属性,设置完成后确认退出;
8、开始记录,以下事件一次发生,
●如果选中已存在脚本,Robot询问是否覆盖,
●缺省情况下,Robot最小化,
●出现浮动GUIRecord快捷栏,可以通过它暂停或者停止记录、重新显示Robot,在脚本中插入特写;
9、按照以下步骤启动测试环境下的应用程序:
●点击GUIRecord快捷栏的DisplayGUIInsertToolbar按钮,
●点击GUIInsertToolbar上适当的起始按钮,
●启动应用程序按钮:
用于启动应用程序(除用Quantify或者PureCoverage回放的HTML、Java应用程序),
●启动Java应用程序按钮:
用于启动由Quantify或者PureCoverage回放的Java应用程序,
●启动浏览器按钮:
用于启动HTML应用程序;
10、在应用程序中执行系列行为;
11、如果需要则插入特写,可以插入查证点、注释、计时器等;
12、如有必要,将面向对象记录模式切换至底层记录模式;
13、记录完成,点击GUIRecord快捷栏上StopRecording按钮,Robot主窗口显示如下信息:
●查证点和底层脚本显示在左侧的Asset窗格,
●文本和脚本显示在右侧的脚本窗格,
编译或者回放脚本时,编译结果显示在Output窗口的Build页面上;
14、可选操作:
设置脚本属性;
记录期间恢复Robot主窗口
1、点击GUIRecord快捷栏上OpenRobotWindow按钮;
2、点击Windows任务栏上Robot按钮;
3、使用CTRL+SHIFT+F热键显示窗口,CTRL+SHIFT+H隐藏窗口;
暂停和唤醒GUI脚本记录
暂停记录:
点击GUIRecord快捷栏上Pause按钮,Robot指示操作暂停。
●点击暂停按钮;
●状态条显示“RecordingSuspended”;
●在Record菜单项Pause菜单项左侧出现选中标志。
唤醒记录:
再次点击Pause菜单项。
唤醒操作和暂停操作时,应该在应用程序中处于同一状态。
在GUI记录期间定义未知对象
记录期间,Robot只识别标准的WindowsGUI对象和一些定制对象。
你可以设置记录选项这样Robot自动和具有通用类型的不能识别的对象连接。
如果未设置选项,如果你点击Robot不能识别的对,Robot打开“DefineObject”对话框,用该对话框把该对象映射成一种已知对象。
记录期间定义未知对象
1、在定义对象对话框中从“Type”列表中点击一种与未知关联的对象类型
2、点击“ok”按扭继续记录。
切换至底层记录
1、按下CTRL+SHIFT+R键;
2、点击GUIRecord快捷栏上OpenRobotWindow按钮(或者按下CTRL+SHIFT+F按钮),将Robot置于前台,点击Record菜单下TurnLow-LevelRecordingOn/Off菜单项;
切换至底层记录方式之后,Robot进行如下操作:
1、在不可编辑的二进制脚本中记录底层行为,并在项目中保存;
2、给底层脚本分配连续数字,在Script窗体的Assert窗格中显示,数字位于Low-LevelScripts下方;
3、在引用底层脚本文件的脚本中加入“PlayJrnl”命令;
回放期间,PlayJrnl命令调用底层文件,该文件回放记录的实时行为,这不同于面向对象记录,面向对象记录方式检查测试环境下应用程序的Windows对象,而不依赖于精确的时间和屏幕坐标。
结束GUI脚本记录
通过点击GUIRecord工具条上的StopRecording按扭
结束录制GUI脚本。
记录结束时,应该使测试下应用程序和开始记录时的状态一致。
这样,可以不必人工重置环境就能回放脚本。
如果从Windows桌面启动应用程序,应该在桌面停止记录。
若从主窗口启动记录,则在主窗口停止记录,确定主窗口状态相同。
例如:
如果应用程序使一个编辑器,记录开始时启动应用程序没有任何文本,则在结束录制时确认没有开启任何文档。
定义脚本属性
在Robot中记录脚本之后,可以定义脚本属性:
1、如果已经打开脚本,点击File菜单下Properties菜单项,如果脚本没打开,点击File菜单下Open菜单Script菜单项,选中脚本,。
点击Properties按钮;
2、在ScriptProperties对话框中,定义属性;
3、确认退出。
如果记录覆盖了一个已经存在的脚本,则已经存在的属性将应用到新的脚本上。
手工GUIScript编码
到目前为止,最快的GUI脚本生成方式是利用Robot记录行为并自动生成脚本,然而,也可以使用SQABasic脚本语言编写GUI脚本。
手工编写脚本的步骤如下:
1、在Robot中,点击File菜单下的New子菜单的Script菜单项;
2、输入脚本名称(最多40字符),可以加入脚本描述;
3、点击GUI;
4、点击确认,Robot产生一个带主程序头的空脚本;
5、开始GUI脚本编码。
SQABasic语言参考见帮助。
创建ShellScripts顺序回放GUIScripts
创建外壳脚本之前,应该先记录需要引用的独立脚本。
建立外壳脚本的顺序:
1、点击File菜单的New子菜单的GUIShellScript菜单项;
2、输入脚本名字(最多40字符);
3、可选操作:
输入脚本描述;
4、确定;
5、要增加脚本,在Available列表中选中一个或者多个脚本,点击“>”或者“>>”按钮,Robot按照Selected列表中的脚本顺序回放脚本;
6、确定。
在外壳脚本中,用“CallScript+脚本名字”引用包含的脚本。
(三)、在GUIScript中加入特写
在GUI脚本中启动应用程序
要成功测试OracleForms、HTML、Java、Delphi、C++和VisualBasic4.00应用程序中的对象,应该在开始记录脚本之前允许应用程序。
启动应用程序时,可以特别说明回放时需要该应用程序在Rational诊断工具环境下启动。
在脚本中启动应用程序的步骤如下:
1、记录时,点击GUIRecord快捷栏上DisplayGUIInsertToolbar按钮,编辑时,定位脚本光标,点击Standard快捷栏的DisplayGUIInsertToolbar按钮;
2、点击GUIInsert工具条上适当的启动按钮(启动应用程序、启动Java应用程序、启动浏览器);
启动应用程序
启动Java应用程序
启动浏览器
3、填写对话框并确定;
启动应用程序
启动Java应用程序
启动浏览器
4、开始记录并且编辑脚本。
回放过程中,Robot运行到脚本中响应的命令时就启动特定的应用程序。
在其它脚本中插入调用
在记录或者编辑GUI脚本的状态,可以插入已有的GUI脚本的调用,避免了重复的应用程序行为。
1、如果处于记录状态,点击GUIRecord快捷栏上的DisplayGUIInsertToolbar按钮,如果处于编辑状态,在Standard快捷栏上点击DisplayGUIInsertToolbar按钮;
2、点击GUIInsert快捷栏上的CallScript按钮;
3、从列表中选择GUI脚本,要改变脚本列表,选择Query列表;
4、如果测试环境依据脚本的执行结果则选中Runnow,如果脚本执行不改变应用程序状态则清空Runnow,无论选中与否,Robot都将对该脚本的调用加入脚本中,选中则立即执行;
5、确定以继续录制或者编辑。
在GUI脚本中插入计时器
1、如果在记录状态,点击GUIRecord快捷栏的DisplayGUIInsertToolbar按钮,如果在编辑状态,点击Standard快捷栏的DisplayGUIInsertToolbar按钮;
2、在GUIInsert工具栏上点击StartTimer按钮;
3、输入计时器名称(最多40字符)后确定,如果要启用多个计时器,确定每个计时器有不同的名字;
4、执行计时行为;
5、执行完计时行为,立即点击GUIInsert工具栏上StopTimer;
6、在计时器列表中选择一个开启的计时器,确认。
在GUI脚本中插入注释
记录或者编辑时可以插入注释,以利于文档和脚本编辑。
1、记录期间,单击GUIRecord工具栏上的DisplayGUIInsertToolbar按钮,编辑期间,单击Standard工具栏上DisplayGUIInsertToolbar按钮;
2、点击注释按钮;
3、输入注释(最多60字符);
4、确认之后继续记录或者编辑。
Robot在单引号之后加入注释,缺省为绿色。
将注释改为非注释,选中文本,单击Edit菜单下CommentLine或者UncommentLine菜单项。
在GUI脚本中插入LogMessage
在记录或者编辑状态,可以在GUI脚本中插入日志消息、描述和结果。
回放阶段,Robot在日志中插入这些信息。
可以利用这些日志消息文档化回放的脚本。
1、记录状态下,单击GUIRecord工具栏上的DisplayGUIInsertToolbar按钮,编辑状态下,单击Standard工具栏上DisplayGUIInsertToolbar按钮;
2、单击GUIInsert工具栏上WritetoLog按钮;
3、输入消息(最多60字符);
4、可选操作:
输入描述(最多60字符);
5、选择一个结果:
Pass、Fail、Warning、None;
6、确定继续记录或者编辑。
回放之后,在TestManager日志中查看日志和消息。
EventType列中显示消息,Result列中显示结果。
查看相关描述,选中日志事件,单击View菜单下Properties菜单项,打开Result页面。
事件日志
在GUI脚本中插入延迟
1、记录阶段,单击GUIRecord工具栏上OpenRobotWindow按钮;
2、在脚本中定位光标;
3、单击Insert菜单下Delay菜单项;
4、输入延迟毫秒数;
5、确认之后继续录制或者编辑。
(四)、使用查证点
在创建查证点时的任务
创建查证点
选择测试对象
选择查证方法
选择验证方法
在数据网格中使用数据
在查证点查看基线文件
复制查证点
重新命名查证点
删除查证点
(五)、使用Datapools
如何理解Datapools
Datapool是一个测试数据集。
它为脚本回放期间提供数据值给脚本变量。
Datapool让你自动在大数据量的情况下(潜在的包含数个虚拟测试人执行上千条事务)提取测试数据给虚拟测试人。
Datapool作用:
1、每个虚拟测试人能在脚本运行时发送实际数据(独一的数据)给服务器。
2、单一的虚拟测试人多次执行相同的事务,能在每次执行事务发送实际数据给服务器。
如果在回放脚本期间不用数据源,每个虚拟测试人会发送相同的数据给服务器(此数据是记录脚本捕获下的数据)。
例如:
假使你在记录vu脚本时发命令数53328给数据库服务器,若有100个虚拟测试人在运行这个脚本,则命令数53328会给服务器发送100次。
如果运用Datapool,每个虚拟测试人会发送不同命令数给服务器。
Datapool结构:
Datapool用.csv扩展名存文件,此文件有如下特征:
1、每行包含一项记录。
2、每项记录包含被separatorcharacter限定的datapool值域,象(,)
3、datapool值域可包含脚本。
4、datapool文件的每个column包含datapool值域的列表。
5、如果值是附载双引号内,这单一的值包含一个separatorcharacter域,如:
"jones,Robert"在记录中是单一的值,不是两个。
当值被存储在datapool文件中才用引号。
引号不是供给应用程序的值的一部分。
6、一个单一的值可包含内含行。
例如:
"jones,robert"bob""是一个记录的单一值,不是两个。
.csv和.spc是存储在Robot工程的datapool目录中。
下面是一个有三行数据的datapool文件的事例:
John,Sullivan,238TuckermanSt,Andover,MA,01810
Peter,Hahn,512LewistonRd,Malden,MA,02148
Sally,Sutherland,8UpperWoodlandHighway,Revere,MA,02151
注意:
如果datapool包含复杂的值(如,内含行,datapoo值包含fieldseparatorcharacters),应在datapooleditor观察(或其他文本编辑器如MicrosoftExcel)并使之成为自己期望的确切的datapoolcolumns
datapool编辑器:
当Robot编辑datapool值,用ConfigureDatapoolinScript对话框编辑。
观察或编辑现有Datapool:
1、如果Datapool将编辑的脚本未打开,击File--Open---Script打开
2、击Edit--DatapoolInformation打开在脚对话框的Datapool设置。
3、可接受脚对话框的Datapool默认设置,也可做些调整。
可查看帮助。
4、完成设置,按确定。
5、按EditExistingData.
6、在Datapool编辑对话框,适当校正Datapool值。
7、完成校正Datapool值,按保存,关闭。
如何使用Datapools
1、GUI脚本中增加Datapool命令:
记录会话时向应用程序赋了值,记录结束后,编辑脚本并执行以下基本操作
1)参考SQAUTIL.SBH头文件;
2)用记录时提供的值替换变量;
3)增加Datapool命令打开Datapool,从Datapool中取一行数据,从该行中找到个体值,将每个值赋给脚本变量。
2、建立及合成Datapool:
1)点击菜单File→Open→Script打开脚本
2)点击菜单Edit→Datapoo