51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 12626|回复: 7
打印 上一主题 下一主题

[Robot] 见解3

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-5-31 10:16:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用Datapool

数据库Datapool是一个测试数据表,它能够在回放期间向脚本传送变量值,适用于自动多次传送不同数据。由Robot或TestManager来创建和维护它们,不能直接编辑。

创建用户自定义数据类型

当标准的数据类型无法提供正确类型的值给脚本变量时,需要创建用户的自定义类型。自定义类型在Data Type Specifition对话框的Type列中和标准类型一起显示,名称前加有*号。

在Rational TestManager中点击Tools->Manager->Data Types...,在随后出现的Manager Data Types对话框中点击New...,键入类型名称和描述,确定后Yes输入数据,出现Edit Dtat Type 对话框,进行数据输入。完成后save。

在Manager Data Types对话框中点击Edit...,出现数据类型属性对话框。点击Define Data Type Field...,定义数据类型字段,设定完后在No. of records to generate一栏里输入数组大小,最后点击Generate Data产生一个字段。点击Edit Data Type Data...,给这个字段输入值。

创建Datapool

打开TestManager,点击Tools->Manager->DataPools...,在弹出的Manager Datapools对话框中,点击New...,键入datapool名称和描述。确定后Yes输入数据,出现Data Type Specifition对话框,点击Insert before或Insert after,插入一行,设定完后在No. of records to generate一栏里输入数组大小,最后点击Generate Data完成一个datapool数组变量的设定。

创建完数据集后,关闭Dtat Type Specifition对话框。选中该类型,点击Edit...,在随后的属性对话框里点击Edit Datapool Data...,输入数组变量各个元素的值,save保存。

为自定义类型创建唯一值

可以令自定义数据类型在回放时提供独一的值给脚本变量。这个字定义类型必须包含独一的值。另外,在定义数据库时,做以下设置使数据库列连接到自定义类型上:

1)选择Sequence为Sequential;

2)令Repeat为1;

3)No. of record to generate值不超过自定义类型里独一值的数量。

生成多字节字符

如果数据库里包括多字节字符,比如日文或汉字,可以通过一个自定义类型来实现。支持自定义类型的编辑器完全支持输入方式编辑器IME(Input Method Editor)的操作。亦可以通过对一个文件数据类型的读取来实现。

在GUI脚本中使用数据库

       GUI脚本能够在回放期间访问一个数据库。记录会话时向应用程序赋了值,记录结束后,编辑脚本并执行以下基本操作:

1)参考SQAUTIL.SBH 头文件;

2)用记录时提供的值替换变量;

3)增加Datapool命令打开Datapool,从Datapool中取一行数据,从该行中找到个体值,将每个值赋给脚本变量。

回放时,Datapool会把值传给最近的对象。例如:

dim dp as long                          '定义单精度型变量dp

dim fName as string                     '定义字符型变量fName

EditBox Click,"ObjectIdnex=5","Cooeds=104,12"

Call SQADatapoolValue(dp,1,fName)              'datapool变量dp传第一个值给fName

InputKeys fName                         'fName得值传到了EditBox对象上

命令说明:

SQADatapoolFetch(datapool name)             从datapool中得到一整行的值

SQADatapoolValue(datapool name,n/column name,Variable name)   

把已得到的一行数据库之中的第n个或某列的值赋给一个脚本变量

Datapool结构:

Datapool的值储存在扩展名是csv的文本文件里,列名储存在.spc文件里。存在资料库里的记录集和根记录集文件同名。.csv 和.spc是存储在Robot工程的datapool目录中。

1)每行包含一项记录;

2)每项记录包含以分隔符为限的datapool值域。一些通常的分隔符:

,                                美国英国默认使用;

;                                其它大多数国家默认使用;

:或 |或/                         其它分隔符。

分隔符能够由3个以下的单字节ASCII字符或1个多字节字符组成。  

要察看或修改分隔符,点击“开始”->“设置”->“控制面板”->“区域选项”,在“数字”选项卡下“列表分隔符”下拉框可修改;

3)datapool文件里的每一列包含一个datapool的字段值表;

4)字段值可以包括空格;

5)如果用双引号把一个单独的值封装起来,这个值可以包含一个分隔符,双引号不属于值的内容;

6)一个单一的值可插入字符窜。例如:"jones,robert"bob""是一个记录的单一值,不是两个;

7)每个记录以一个行标记。

我们可以根据这个格式在记事本中编辑datapool,然后在TestManager中引用它。

下面是一个有三行数据的datapool文件的事例:

John,Sullivan,238 Tuckerman St,Andover,MA,01810

Peter,Hahn,512 Lewiston Rd,Malden,MA,02148

Sally,Sutherland,8 Upper Woodland Highway,Revere,MA,02151

如果datapool包含复杂的值(如,内含行,datapoo值包含field separator characters),应在datapool editor观察(或其他文本编辑器如Microsoft Excel)并使之成为自己期望的确切的datapool columns。

使用Excel创建记录集

打开Microsoft Excel,点击File->New创建一个新Excel 工作簿,点击Workbook图标,在行1中输入datapool记录名。在Excel中创建datapool不需要分隔符。当保存为.csv格式时,Excel自动插入分隔符。一次输入其它行。每一列是一个datapool字段,每一行是一个包含datapool字段值的独立字段。

点击File->Save As。别把datapool目录指定到资料库上。以后使用TestManager引用这个资料集,TestManager自动把它复制到当前资料库和项目的记录集目录里。在Save as type里,选择“CSV(Comma delimited)(*.csv)”。

如果提示.csv文件格式不支持多工作页,点击OK保存记录集并且放弃其它(空的)工作页。紧接着关闭Excel,如果提示是否要以Excel格式保存.cdv文件,点选否。

在Rational之外创建一个列值

用Rational工具创建的记录集可以包含一个由ASCII文本文件提供的列值。可以使用这个特点,比如,让记录集包含一个来自数据库的列值。

提供数据的源文件必须是一个标准的ASCII文本文件,且该文件必须包含一个单列的值,每一个值末尾以一个carriage返回。可以使用记事本或从一个数据库里引用一个列值给一个文本文件。

源文件存在后,通过“读文件这个数据类型赋值给datapool的列。

打开Datapool Speciafication对话框,在Type列下,为由外部文本文件提供值的datapool列选择“Read From File”;按Tab键,Open对话框出现,指定文本文件的目录和名称,打开。

[ Last edited by 司空公子 on 2005-6-1 at 19:25 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2005-7-25 16:48:34 | 只看该作者
这么好的文章怎么没人顶,保留
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2005-7-29 14:22:57 | 只看该作者
Wonderfully!!!UP!!!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-3-23 21:08:02 | 只看该作者

顶!

感谢楼主提供宝贵经验。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-8-15 17:43:11 | 只看该作者
很棒!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-1-22 21:15:31 | 只看该作者
谢谢,顶
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-1-25 11:04:21 | 只看该作者
非常棒
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-2-28 17:53:04 | 只看该作者

.

顶楼主一个   呵呵






















爱拼才会赢!!视频斗地主wordf1数码宝贝抗战
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-2 16:20 , Processed in 0.077775 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表