DatatableObject指的是run-time Data Table。
注意:对本象的所有methods仅适用于run-time DataTable.对run-time DataTable object的改变会反映在测试结果中,不会对design-time Data Table产生任何影响。
1. 方法(methods):
Ø 新增表(AddSheet Method)
描述
向run-time DataTable中增加指定的表,并将它作为返回对象,这样你就可以在同一个语句中直接设置表的属性。
语法
DataTable.AddSheet(SheetName)
参数 | 类型 | 描述 |
SheetName | String | 新表的表名 |
返回值
DTSheet对象。
示例
下面的例子用AddSheet方法向Run-time DataTable中创建一个新的表(sheet)“MySheet”,并同时设置新表的一个参数。
Variable=DataTable.AddSheet("MySheet").AddParameter("Time", "8:00")
注:Mysheet表名;AddParameter是DTSheet Object的一个方法,语法“DTSheet.AddParameter(ParameterName,Value)”
Ø 删除表(DeleteSheet Method)
描述
从Run-time data table中删除指定的表。
语法
DataTable.DeleteSheetSheetID
参数 | 类型 | 描述 |
SheetID | Variant | 指定将要被删除的表。表ID可以是表名,也可以是表的index。Index的值从1开始。 |
示例
下面的例子用DeleteSheet方法从run-time DataTable中删除表“Mysheet”。
DataTable.DeleteSheet"MySheet"
Ø 导出Table(Export Method)
描述
将Run-time data tabel导出到本地指定的位置。
语法
DataTable.Export(FileName)
参数 | 类型 | 描述 |
FileName | String | 导出文件在本地的完整路径。 导出的文件是EXCEL文件。 |
示例
下面的例子使用Export方法保存Runtime DataTable到C:\flights.xls。
DataTable.Export("C:\flights.xls")
Ø 导出表(ExportSheet Method)
描述
将run-time Data Table中的一个sheet导出到指定的文件。
如果指定的文件不存在,则自动创建一个新的文件,并保存表。
如果指定的文件存在,但是文件中没有指定的表名存在,则在该EXCEL文件中插入指定表名的表,新表放在工作薄的最后位置。
如果文件及表都存在,则导出的表覆盖原有的表。
语法
DataTable.ExportSheet(FileName, DTSheet)
参数 | 类型 | 描述 |
FileName | String | 导出文件的完整路径。 |
DTSheet | Variant | 将要导出的run-time Data Table中的表的名称或index。Index值从1开始。 |
示例
下面的例子使用ExportSheet方法导出RuntimeDataTable的第1个表,保存在C:\name.xls中。
DataTable.ExportSheet"C:\name.xls" ,1
Ø 导入Table(Import Method)
描述
将Excle文件导入到run-time Data Table中。
注意:
导入的表必须与test或component匹配。即EXCEL文件的表(即sheet)名必须与Action的名称匹配,各表的列名必须与run-time Data Table中的参数(即列名)匹配。
如果导入的EXCEL文件包括combo box或list单元格、公式或其它特殊单元格式,这些格式将不会被导入,在DataTable中都会以固定的值显示。
语法
DataTable.Import(FileName)
参数 | 类型 | 描述 |
FileName | String | 要被导入的Excle文件的完整路径。 |
示例
导入的Table将完全覆盖RuntimeDataTable的已有数据(指所有表的所有数据。)
下面的例子使用Import方法,导入Excel文件"C:\flights.xls"。
DataTable.Import("C:\flights.xls")
Ø 导入表(ImportSheet Method)
描述
将Excle文件中一个表(sheet)导入到指定的run-time Data Table表中。导入后,Excle表的数据将覆盖run-time Data Table表的数据。
注意:
被导入的Excle表中的列标题必须与DataTableAction的列参数匹配。否则可能导致Test或Component失败。
导入后,Excle表名将自动替换DataTable中的表名。如果Excel与DataTable的表名不一致,可能会引起测试失败。
如果导入的Excle包括组合框或下拉列表、条件格式、或其它特殊单元格式,这些格式不会被导入,这些单元格在DataTable中都以固定的值显示。
语法
DataTable.ImportSheet(FileName,SheetSource,SheetDest)
参数 | 类型 | 描述 |
FileName | String | Excle文件的完整路径及文件名。 |
SheetSource | Variant | Excel表名或index。Index值从1开始。 |
SheetDest | Variant | Data Table表的表名或index。Index值从1开始。 |
示例
下面的例子使用ImportSheet方法导入Excel文件name.xls的第1个表,DataTable中的目标表是“NAME”。
DataTable.ImportSheet "C:\name.xls" ,1 ,"name"
Ø 获取当前行行号(GetCurrentRow Method)
描述
返回run-time Data Table第一个表的当前活动行的行号。(第一个表指的是global表,或Business Components的business component表。
语法
DataTable.GetCurrentRow
返回值
数字
示例
下面的例子使用GetCurrentRow方法获取run-time Data Table的当前活动行行号,并将获取的行号写到Report中。
row = DataTable.GetCurrentRow
Reporter.ReportEvent 1, "Row Number", row
Reproter的ReprotEvent方法的语法:Reporter.ReportEventEventStatus, ReportStepName, Details [, in]
如果使用row = DataTable.GetSheet("MySheet").GetCurrentRow语句,则可以获得指定表“Mysheet”的当前行号。