QTP的DataTable操作

DataTable的操作包括:

DataTable.GetSheet(dtSheet)
DataTable.GetSheetCount
DataTable.[GetSheet.]GetRowCount
DataTable.[GetSheet.]GetParameterCount
DataTable.GetSheet(SheetName).GetParameter(“ColumName”).ValueByName(iRowNumber)
DataTable.[GetSheet.]GetCurrentRow
DataTable.[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").GetRowCount
Reporter.ReportEvent 2, "数据工作表中有 " &rowcount, "行。

 

2.得到datatable运行时的动态列数:GetParameterCount
语法:DTSheet.GetParameterCount      
例:  paramcount = DataTable.GetSheet("MySheet").GetParameterCount

 

3.GetCurrentRow方法

描述:返回运行时数据表的第一个工作表(用于测试的全局表或用于业务组件的业务组件表)中的当前(活动)行。
语法:DataTable.GetCurrentRow
返回值:数字
示例:
以下示例使用 GetCurrentRow 方法检索当前在运行时数据表中使用的行,并将其写入报告。
row = DataTable.GetCurrentRow
Reporter.ReportEvent 1, "行号", row

 

4. 设置当前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").GetCurrentRow
DataTable.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])=NewValue
or : DataTable(ParameterID,[SheetID]) =NewValue5
DataTable("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表,会出现死循环现象。

 

http://www.cnblogs.com/sumflower/archive/2012/02/28/2370666.html

你可能感兴趣的:(Datatable)