空间的文章都是从51里面学习过来的,把自己整理的贴出来,希望可以为有需要的提供方便:)

库文件等

上一篇 / 下一篇  2007-09-09 15:06:10 / 个人分类:Robot

   SQABasic头文件包含一系列的声明,头文件可以应用到

一.声明共有或则全局常量,变量和用户定义类型

二.声明自定义sub,proceduresfunction

头文件中的声明可以应用到任何模块(脚本或者类库文件)。用’$include关键字,放在模块开始的地方-例如:

     ’$include “global.sbh”

SQABasic头文件类型

Sqabasic支持两种头文件类型:

一.头文件保存在sqabasic路径。不用指定任何路径信息就可以在本工程或者其他工程中应用他们

二.工程头文件可以保存在TMS_scrīpt文件夹中。不用指定任何路径信息就可以在同一个工程中处理。

这两种SQABasic头文件都有同样的扩展名- .sbh

库文件

库文件包含一个或者更多供procedure从其它文件调用的sub,procedurefunction

一.SQABasic库文件(扩展名为.sbl或则.rec

注意.rec文件可以作为脚本文件或者库文件,但是.sbl只能被用作库文件。

二.动态连接库文件(扩展名.dll

下边的表格这几种类库文件不同的总结:

.sbl
.rec
.dll

位置
SQABasic
路径
当前工程文件中Datastore(文件夹TMS_scrīpt
TMS_scrīpt/dll
文家夹或则其他位置

范围
SQABasic路径中,对所有工程文件都可用
对同一个工程所有脚本可用
依靠位置

验证点
不支持
支持标准的robot验证点
支持自定义验证点

任何.rec文件都能作为库文件。不管怎样,如果一个.rec文件作为脚本(可以从robot中直接运行或者用callscrīpt命令),他必须有一个main过程。

SQABasic库文件中声明过程

如果在SQABasic过程中有一个自定义的过程,你声明类文件的方法同样适用声明过程。

下边的例子是在sqabasic库文件中(mylib.sbl)声明一个自定义过程(mysub:

     Declare Sub MySub Basiclib “MyLib”( arg1 as string,arg2 as integer)

一.关键字basiclib,表示过程mysub在一个sqabasic库文件中

二.库文件的名字“mylib”,这里不需要写扩展名(.sbl或者.rec

备注:basiclib关键字特指.sbx库文件的声明(和.dll库文件相对),这里不需要也不推荐带有.sbx扩展名的声明。

什么地方声明SQABasic库文件

可以在任何位置声明SQABasic库文件

一.在脚本或者其他库文件,仅在模块中应用过程

二.头文件中,用道的模块

库文件包含不需要指定的例程或者’include头文件

dll文件声明过程文件

如果在dll文件的自定义过程,声明过程同样可以声明dll文件。

下边是dll文件中(mydll.dll)声明自定义过程(mysub)的例子:

       declare sub mysub lib “mydll”(byval arg1 as string,Byval arg2 as integer)

一.声明中加入Lib关键字,表示声明的过程在dll文件中(相对于.sbl或者.rec sqabasic库文件)

二.库文件名字(mydll),跟随库指定的名称

三.参数声明通常包括关键字byval(参数声明包括任何关键字)

如果编译位置在sqabas32路径或在系统路径的库文件(.dll),你不用特别声明路径。如果库文件不再sqabas32或者在系统路径,你需要制定路径,比如

       Declare Sub MySub Lib “E:MyDll”  (byval arg1 as string,Byval arg2 as integer)

在什么地方声明dll文件

你可以声在任何为指声明dll文件:

1.脚本或者sqabasic库文件,要用过程的模块

2.头文件,任何模块指定的头文件

SQABasic路径

Sqabasic路径是robot保存和寻找sbl库文件和头文件的地方,用户在robot中也可以定义。

一旦你在robot中指定sqabasic路径,这个路径是固定的。不管怎样,robot自动设置sqabasic路径,当下列条件是真的时候:

           i.仍没有明确在robot中定义sqabasic

         ii.已经在rational Aministrator建立新的工程和数据仓库

        iii.打开最近创建的工程和数据仓库

当上边所有条件为真的时候,robot自动在新工程和数据仓库中设置sqabasic路径到下列位置:

[NewProject][NewDatastore]DefaultTestscrīptDatastoreTMS_scrīptSQABas32

设置步骤:

1)Tools->General Options

2)Preferences页面

3)SQABasic路径中输入路径

Rational test早期版本没有提供菜单选项来设置sqabasic路径参阅sqa common directory片断

指导使用头文件和库文件

推荐下边使用库文件方法:

a)自定义函数或者过程应该使用有同样文件名字的头文件(.sbh)和库文件(.sbl),比如DataFunctions.sbhDataFunctions.sbl。这个过程和函数在头文件中定义(指定声明头文件)和在库文件中定义。看下边的例子

b)分离头文件(参阅常量头文件)用于包含常量,变量和用户定义类型用于脚本或者库文件调用。头文件用同样的文件名字后边附加_x或则_C(附加是 早期命名规定)。注意包含常量和变量的头文件必须加入到声明头文件和库文件之前。(DataFunctions.sbhDataFunctions.sbl),比如’include “DateFunctions_c.sbh”。这样做很容易维护。

c)通过分类或者程序把相关的函数放在同一个库里,例如,把所有日期相关的函数放到DataFunctions.sbh/sbl,或者把所有的函数加入为特定程序开发的函数库中(比如AppName.SBH/SBL


d)
函数是在库文件中子程序的的首选方式,处分过程的结果对于调用脚本是不相关的。函数应该返回一个值,或者适当的,数据可以通过变量或者数组返回。在后边的例子中,函数返回的结果表示成果或者失败。


e)
库文件中的所有得函数和子程序必须有注释,包含这个过程的目的和用途::

请看下边的例子。


f)
库文件的注释有合理的解释,通过读注释可以知道过程的逻辑


g)
如果开发和维护robot库文件是集中管理的方式,那么你可以加入到’$include所有库文件到global.sbh头文件中,这样做对所有头文件都有用。这可以加入缺省的脚本模板。作为选择,测试人员在每个脚本中可以选择或者包含需要的库文件。


TAG: Robot

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-25  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 5027
  • 日志数: 14
  • 建立时间: 2007-09-03
  • 更新时间: 2007-09-24

RSS订阅

Open Toolbar