DataTable的操作包括:
DataTable.GetSheet(dtSheet)
DataTable.GetSheetCountDataTable.[GetSheet.]GetRowCountDataTable.[GetSheet.]GetParameterCountDataTable.GetSheet(SheetName).GetParameter(“ColumName”).ValueByName(iRowNumber)DataTable.[GetSheet.]GetCurrentRowDataTable.[GetSheet.]SetCurrentRow(RowNumber)DataTable.Value(ParameterID [,SheetID]) or DataTable (ParameterID [, SheetID])DataTable.AddSheet(SheetName)DataTable.DeleteSheet(SheetName)DataTable.Export(filename)DataTable.ExportSheet(filename,SheetName)DataTable.Import(FileName)DataTable.ImportSheet(FileName, SheetSource, SheetDest)
1.得到datatable总行数的命令:GetRowCount
描述:返回运行时数据表的第一个工作表(用于测试的全局表或用于业务组件的业务组件表)中最长的列中的总行数。
语法:DataTable.GetRowCount返回值:数字示例:以下示例使用 GetRowCount 方法查找 MySheet 运行时数据表中最长的列中的总行数,并将其写入报告。rowcount = DataTable.GetSheet("MySheet").GetRowCountReporter.ReportEvent 2, "数据工作表中有 " &rowcount, "行。2.得到datatable运行时的动态列数:GetParameterCount
语法:DTSheet.GetParameterCount 例: paramcount = DataTable.GetSheet("MySheet").GetParameterCount3.GetCurrentRow方法
描述:返回运行时数据表的第一个工作表(用于测试的全局表或用于业务组件的业务组件表)中的当前(活动)行。
语法:DataTable.GetCurrentRow返回值:数字示例:以下示例使用 GetCurrentRow 方法检索当前在运行时数据表中使用的行,并将其写入报告。row = DataTable.GetCurrentRowReporter.ReportEvent 1, "行号", row4. 设置当前active的行数(第一行为1):SetCurrentRow
语法:DataTable.SetCurrentRow(RowNumber)
例:DataTable.SetCurrentRow(tb_i+1) DataTable.GetSheet("Action1"). SetCurrentRow(tb_i+1)'注:此命令可在循环运行中不断指向下一行数据你也可以用GetCurrentRow来获取Action1的行,然后再用SetCurrentRow来保持两个Action的当前行一致:CurrRow = DataTable.GetSheet("Action1").GetCurrentRowDataTable.GetSheet("Action2").SetCurrentRow(CurrRow)5.查询、设置datatable的数值:
语法:To find the value:DataTable.Value(ParameterID,[SheetID]) or : DataTable(ParameterID,[SheetID])To set the value:
DataTable.Value(ParameterID,[SheetID])=NewValueor : DataTable(ParameterID,[SheetID]) =NewValue5DataTable("Col", "Action2") 就是读取Action2的Col列。同样,表也可以用数字代替:DataTable(1, 2) 这样就是读取第二个Action表的第一列还有一种写法:DataTable(1, "Action2") 这样就是读取Action2的第一列,不管第一列叫什么名字,都能读还有一种赋值方法 aParam2=DataTable(“AccountsNumber”,dtGlobalSheet)还有一种赋值方法,但是有一个前提就是:必须只能是测试只包含一个操作的情况:aParam3=DataTable(“AccountsNumber”,dtLocalSheet)例:DataTable.Value("Destination", "ActionA")="New York" DataTable.Value(2,3)="New York" DataTable("Destination", dtlocalSheet)="New York" Call_date= DataTable.Value("Date","add Conference Call") '为Call_date赋值6.取datatable特定行的数据:DataTable.GetSheet("Action1").GetParameter("test").ValueByRow(4)7 GetSheet方法
描述 :返回运行时数据表中的指定工作表。 语法 :DataTable.GetSheet(SheetID) SheetID 变量 标识要返回的工作表。SheetID 可以是工作表名称或索引。 索引值从 1 开始。 返回值:DTSheet 对象8 GetSheetCount方法
描述:返回运行时数据表中的总工作表数。 语法:DataTable.GetSheetCount 返回值:数字 示例: 以下示例使用 GetSheetCount 方法查找运行时数据表中的总工作表数,并将其写入报告。 sheetcount = DataTable.GetSheetCount Reporter.ReportEvent 0, "工作表编号", "数据表中有" & sheetcount & "个工作表。9 ImportSheet方法
描述:将指定文件的工作表导入运行时数据表的指定工作表。 语法:DataTable.ImportSheet(FileName, SheetSource, SheetDest) FileName 字符串型 要从中导入工作表的 Excel 表的完整路径。 SheetSource 变量 要从文件导入的工作表的名称或索引。索引值从 1 开始。 SheetDest 变量 数据表中要用 SheetSource 替换的工作表的名称或索引。索引值从 1 开始。 示例: 以下示例使用 ImportSheet 方法将 name.xls 表的第一个工作表导入测试的运行时数据表中的Action1工作表。 DataTable.ImportSheet "C:\name.xls" ,1 ," Action1" DataTable.ImportSheet "C:\name.xls" ,1 ," Global" Qtp中不要使用Global表,会出现死循环现象。