QTP 对象----data table
data table[数据表]:所在位置为action目录下的default.xls
data table为参数化的一种方式。
data table方法:
1:导入导出数据方法
Export method:把运行中的Data table保存在指定的本地盘。
语法:DataTable.Export(Filename)
ExportSheet method: 把运行过程中指定的表格保存在指定的文件中。
语法:DataTable.ExportSheet(filename,DTsheet)
Import method:把指定的excel表格导入到正在运行的data table中。
语法:DataTable.Import(fileName)
ImportSheet method:把指定的excel文件导入到正在运行的data table的sheet中,导入的数据会代替data table中原有的数据。
语法:DataTable.ImportSheet(fileName,sheetSource,SheetDest)
以上四个方法是QTP和外部excel表交互的方法,可以把run-time table导出,也可以把excel表导入到run-time table
2:操作行的方法
setNextRow:在run-time table中获取下一行的数据,并且作为当前行的数据。
setPrevRow:在run-time table中获取上一行的数据,并且作为当前行的数据。
setCurrentRow :在run-time table中获取指定行的数据,并且作为当前行的数据。
GetCurrentRow:返回run-time table中第一个sheet中活动行的数据。
3:操作sheet的方法
addSheet
deleteSheet
GetSheet
4:操作parameter的方法
[parameter是DTsheet对象的方法,但是DTsheet对象不是内建的对象,需要以以下方式实现
1:DataTable.AddSheet 2:DataTable.GetSheet 3:DataTable.GlobalSheet 4:DataTable.LocalSheet]
AddParameter
DeleteParameter
GetParameter
……
data table属性:
value property:从数据表中返回特定的参数值,或者为数据表赋值。
语法:
找值
DataTable.Value(parameterID [,SheetID]) 或者:
DataTable(parameterID[,Sheet])
赋值
DataTable.Value(parameterID[,Sheet])=NewValue或者
DataTable(ParameterID[,Sheet])=NewValue
rawValue property:从数据表中返回特定的参数值。
语法:DataTable.RawValue parameterID[,Sheet]
GlobalSheet
LocalSheet
一个运用到DataTable对象的简单例子:
DataTable.ImportSheet "D:\test.xls",1,"Action1"
Dim mainMenu,subMenu,prevMenu
mainMenu=DataTable.RawValue("para1","Action1")
subMenu=DataTable.RawValue("para2","Action1")
DataTable.SetPrevRow
prevMenu=DataTable.RawValue("para1","Action1")
DataTable.SetNextRow
If mainMenu=prevMenu Then
print "create the sub menu :" & subMenu
else
print "create the main menu:" & mainMenu
print "create the sub menu :" & subMenu
End If
Wait 5
DataTable.Value("para1","Action1")="
test"
Wait 5
DataTable.ExportSheet "d:\test1.xls","Action1"
Wait 5