自动化测试框架RRAFS--------Saftware Automation Framework Support--4

类别:软件工程 点击:0 评论:0 推荐:

"When developing our test strategy, we must minimize the impact caused by changes in the applications we are testing, and changes in the tools we use to test them."

 --Carl J. Nagle

RRAFS框架 - 2

一.运行上边的例子后你会发现,datapool文件夹出现很多.CDD,.STD,.SDD文件,从哪里来的呢?

 

研究ExportXLTables脚本,其中下边有三个函数,功能是导出xls文件内容到.CDD,.STD,.SDD,.ClassicsC.map文件。

status = ExportXLSToFiles( fileXLS   := HighLevelTables, _

                               dirXLS    := dirXLS, _

                               dirOUT    := dirOUT, _

                               delimiter := separator)

 

status = ExportXLSToFiles( fileXLS   := LowLevelTables, _

                               dirXLS    := dirXLS, _

                               dirOUT    := dirOUT, _

                               delimiter := separator)

 

status = ExportXLSToOneFile( fileXLS   := ApplicationMap, _

                                 fileOUT   := MapOUT, _

                                 dirXLS    := dirXLS, _

                                 dirOUT    := dirOUT, _

                                 delimiter := " ")

备注:函数代码ExportXLSToOneFile在单元ExcelUtilities.SBL中。

核心代码如下

For sheet = 1 to numSheets

        Set worksheet = worksheets(sheet)

        Set cells = worksheet.UsedRange

        sheetname = worksheet.Name

 

        fileref = FreeFile

        fullpath = directoryOUT & sheetname

        Open fullpath For Output As #fileref

       

        rows = cells.Rows.Count

        columns = cells.Columns.Count

       

        'handle special .MAP case

        if (StrComp(Right$(sheetname, 4), ".MAP", 1) = 0) then columns = 1

       

        For row = 1 to rows  

            For column = 1 to columns

                cell = cells.Rows(row).Columns(column).Value

                'don't write a separator after the last field

                if (column < columns) then cell = cell & separator

                Print #fileref, cell ;

            Next column

            'if cell was empty then newline already occurred

            if Len(cell) > 0 then Print #fileref, ""

        Next row               

        Close #fileref

        fileref = 0

    Next sheet

    打开excel文件,获得work-sheet个数,然后把相应的单元内容写入要导出的文件。

二.文件格式

    AppMap文件是是INI文件格式,如下:

 

[LoginWindow]
          LoginWindow="Type=Window;Caption=Login"

 

    文件.CDD,STD,.SDD格式是完全按照ClassicsC_HIGH.xls格式导出,可自行对比文件。

 

三.重要函数

     运行,调试代码后我们注意到启动脚本中CycleDriverTest.rec核心代码为

CDCycleDriver "Regression.cdd", "", CycleLog, SuiteLog, MainLog, CDCycleDrivenMode

  整个启动脚本这里才是真正的核心。

 

 

RRAFS框架 –  3

 

   下边表格中是rational robot自动化测试框架rrafs的三个核心引擎:

 

元素

文件

描述

Cycle Driver

CycleDriver.SBL

这个引擎是测试框架的核心引擎。他执行包含一系列套件的测试脚本,CycleDriver引擎调用SuitDriver引擎处理每个SUIT(测试表格),在Cycle层次上,他通过关键字t来识别。见备注1

Suite Driver

SuiteDriver.SBL

SuitDriver是测试框架核心引擎之一.它执行处理包含为了完成测试任务的动作命令的套件。 SuiteDriver 处理每一个执行动作,或者StepDriver(测试表). SuitDriver通过关键字"T"来处理.

备注2

Step Driver

StepDriver.SBL

核心引擎之一.执行需要完成特殊命令的.sdd文件 。关键字“c“调用驱动命令来处理,“t”调用组件命令来处理

备注:3

备注:

1.   看上图:表格Regression.CDD。T,CycleDriver就是通过“;RT“字段下的关键字来调用SuitDriver处理LoginWinTests等.STD文件。

2.   看上面表格:LoginWinTest.STD,SuitDriver通过“;RT“字段下的关键字来调用StepDriver处理等LaunchClassicsC.SDD文件

        3.下表是SDD例子,可以看到第一列字段下面关键字分别为C和T

;RT

COMMAND

ARG

ARG

ARG

ARG

ARG

C

Version

1.0

 

 

 

 

C

SetApplicationMap

ClassicC.MAP

 

 

 

 

C

LaunchApplication

ClassicC

ClassicsEXE

""

""

ClassicC.MAP

;RT

WINDOW

COMP

ACTION

ARG

ARG

Description:

T

LoginWindow

LoginWindow

VerifyProperty

Caption

Classics Login

Make sure Login comes up.

本文地址:http://com.8s8s.com/it/it37024.htm