|
使用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 ] |
|