解压文件RRAFS.ZIP
解压文件RRAFS.ZIP(我用的版本是RRAFS2003.08.27.00.ZIP),拷贝所有文件到(安装路径\Rational\Rational Test\sqabas32)。
运行setup.vbs
拷贝文件到安装路径中,注册dll(CWPHooker.dll,DDVariableStore.dll,STAFWrap.dll),安装到指定安装(安装路径\Rational\Rational Test\sqabas32)路径。
安装以上文件后你可以到http://sourceforge.net/project/showfiles.php?group_id=56751下在最新的补丁包,修正RRAFS测试框架的BUG。
添加附加文件夹
C:\测试仓库\RRAFS\Datapool\Bench
C:\ 测试仓库\RRAFS\Datapool\Dif
C:\ 测试仓库\RRAFS\Datapool\Logs
C:\ 测试仓库\RRAFS\Datapool\Runtime (推荐选项)
C:\ 测试仓库\RRAFS\Datapool\Test
备注:先通过Rational Administrator建立工程文件,然后在工程文件夹下建立datapool文件夹,最后在datapool文件夹下边建立以上文件夹。
RRAFS框架:
.
RRAFS有三个主要的驱动数据表格:循环驱动(Cycle Driver)表格,套件驱动(Suit Driver)表格,步进驱动(Step Driver)表格。这三个表格其实在他们的背后都有一个想对应的核心引擎(Cycle Driver,Suit Driver, Step Driver)。
那他们如何运作?相互关系是什么呢?
请看下图:
应用RRAFS测试框架的测试从启动测试(Launch Test)脚本开始,脚本通过循环驱动(Cycle Driver)(表格)提供的一个或多个高级(Heigh-Level)测试表来调用核心数据引擎,循环驱动(Cycle Driver驱动引擎)处理遇到的每个中级(Intermediate-Level)测试表调用套件驱动(Suit driver)测试表。套件驱动(SuitDriver引擎)处理遇到的每个的低级(low-level)测试表调用步进驱动(step driver)中级表。当步进驱动(SuitDriver引擎)处理这些低级测试表的时候他试图保持应用程序和测试同步。当步进驱动遇到处理一个组件的低级命令的时候,他会判断遇到的组件类型,然后调用相应的组件函数模块来处理。
以上所有的引擎还必须依赖Apllication Map文件,他是测试框架和应用程序的桥梁。测试脚本中所用到的被测试软件的每个界面元素在这里都有详细的描述。
Map文件是利用Windows ini文件的格式来实现。这种文件格式通过名字分类把各个项目指定到不同区域。类库 ProcessContainer 是创建app map文件很好用的工具。这个工具可以抓取道指定窗体的所有对象和他们的属性。并且可以输出到指定文件中(已经存在的INI文件或者到一个指定得EXCEL文件中)
RRAFS如何创建map文件,测试框架如何运作的呢?带着这些问题我们进行下一个环节。
例子:我们以Rational Sample例子来说明整个运作原理
安装Rational Sample
Rational Sample安装程序是默认安装,你可以在Rational Suit TestSuit菜单下可以看到这个安装项:
下载RRAFS Rational Sample
下载地址http://safsdev.sourceforge.net/sqabasic2000/ClassicsC_V2001.zip
内容
其中zip文件包括以下文件:ClassicsC_HIGH.xls ,ClassicsC_MAP.xls, ClassicsC_STEPS.xls,CycleDriverTest.rec,ExitMainWin.rec,ExportXLTables.rec文件
如何处理:
拷贝三个Excel表格文件, ClassicsC_HIGH.xls, ClassicsC_MAP.xls and ClassicsC_STEPS.xls 到 盘符:\Repository\RRAFS\ Datapool\
拷贝文件ClassicsMainMenu.mnu 到 盘符:\Repository\RRAFS\Datapool\Bench\利用Robot建立同名脚本 CycleDriverTest.rec, ExportXLTables.rec, ExitMainWin.rec 文件,然后拷贝这些文件到盘符:\Repository\RRAFS\TestDatastore\DefaultTestScriptDatastore\TMS_Scripts\.覆盖掉同名文件。