QTP中DataTable用法整理
DataTable的操作包括:
DataTable.GetSheet(dtSheet) DataTable.GetSheetCount DataTable.[GetSheet.]GetRowCount DataTable.[GetSheet.]GetParameterCount DataTable.GetSheet(sSheetName).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總行數(shù)的命令:GetRowCount
描述:返回運(yùn)行時(shí)數(shù)據(jù)表的第一個(gè)工作表(用于測(cè)試的全局表或用于業(yè)務(wù)組件的業(yè)務(wù)組件表)中最長(zhǎng)的列中的總行數(shù)。
語法:DataTable.GetRowCount
返回值:數(shù)字
示例:
以下示例使用 GetRowCount 方法查找 MySheet 運(yùn)行時(shí)數(shù)據(jù)表中最長(zhǎng)的列中的總行數(shù),并將其寫入報(bào)告。
rowcount = DataTable.GetSheet("MySheet").GetRowCount
Reporter.ReportEvent 2, "數(shù)據(jù)工作表中有 " &rowcount, "行。
2.得到datatable運(yùn)行時(shí)的動(dòng)態(tài)列數(shù):GetParameterCount
語法:DTSheet.GetParameterCount
例: paramcount = DataTable.GetSheet("MySheet").GetParameterCount
3.GetCurrentRow方法
描述:返回運(yùn)行時(shí)數(shù)據(jù)表的第一個(gè)工作表(用于測(cè)試的全局表或用于業(yè)務(wù)組件的業(yè)務(wù)組件表)中的當(dāng)前(活動(dòng))行。
語法:DataTable.GetCurrentRow
返回值:數(shù)字
示例:
以下示例使用 GetCurrentRow 方法檢索當(dāng)前在運(yùn)行時(shí)數(shù)據(jù)表中使用的行,并將其寫入報(bào)告。
row = DataTable.GetCurrentRow
Reporter.ReportEvent 1, "行號(hào)", row
4. 設(shè)置當(dāng)前active的行數(shù)(第一行為1):SetCurrentRow
語法:DataTable.SetCurrentRow(RowNumber)
例: DataTable.SetCurrentRow(tb_i+1)
DataTable.GetSheet("Action1"). SetCurrentRow(tb_i+1)
'注:此命令可在循環(huán)運(yùn)行中不斷指向下一行數(shù)據(jù)
你也可以用GetCurrentRow來獲取Action1的行,然后再用SetCurrentRow來保持兩個(gè)Action的當(dāng)前行一致:
CurrRow = DataTable.GetSheet("Action1").GetCurrentRow
DataTable.GetSheet("Action2").SetCurrentRow(CurrRow)
5.查詢、設(shè)置datatable的數(shù)值:
語法: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列。
同樣,表也可以用數(shù)字代替:
DataTable(1, 2) 這樣就是讀取第二個(gè)Action表的第一列
還有一種寫法:
DataTable(1, "Action2") 這樣就是讀取Action2的第一列,不管第一列叫什么名字,都能讀
還有一種賦值方法
aParam2=DataTable(“AccountsNumber”,dtGlobalSheet)
還有一種賦值方法,但是有一個(gè)前提就是:必須只能是測(cè)試只包含一個(gè)操作的情況:
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特定行的數(shù)據(jù):
DataTable.GetSheet("Action1").GetParameter("test\").ValueByRow(4)
7 AddSheet 方法
描述:向運(yùn)行時(shí)數(shù)據(jù)表中添加指定工作表并返回該工作表,以便可以直接在同一語句中設(shè)置新工作表的屬性。
語法:DataTable.AddSheet(SheetName)
示例:
以下示例先使用 AddSheet 方法在運(yùn)行時(shí)數(shù)據(jù)表中新建工作表"MySheet",然后向新工作表中添加參數(shù)。
Dim Variable
Variable=DataTable.AddSheet ("MySheet").AddParameter("Time", "8:00")
8 DeleteSheet方法
描述:從運(yùn)行時(shí)數(shù)據(jù)表中刪除指定工作表。
語法:DataTable.DeleteSheet SheetID
示例:
以下示例使用 DeleteSheet 方法從運(yùn)行時(shí)數(shù)據(jù)表中刪除工作表"MySheet"。
DataTable.DeleteSheet "MySheet"
9 Export方法
描述:在指定位置保存運(yùn)行時(shí)數(shù)據(jù)表的副本。
語法:DataTable.Export(FileName)
示例:
以下示例使用 Export 方法將測(cè)試的數(shù)據(jù)表副本保存在 C:\flights.xls 中。
DataTable.Export ("C:\flights.xls")
10 ExportSheet方法
描述:將運(yùn)行時(shí)數(shù)據(jù)表的指定工作表導(dǎo)出到指定文件中。
如果指定文件不存在,則將創(chuàng)建一個(gè)新文件并保存指定工作表。
如果當(dāng)前文件存在,但是該文件不包含具有指定工作表名稱的工作表,則將插入該工作表作為文件的最后一個(gè)工作表。
如果當(dāng)前文件存在且包含指定工作表,則導(dǎo)出的工作表將覆蓋現(xiàn)有工作表。
語法:DataTable.ExportSheet(FileName, DTSheet)
DTSheet 變量要導(dǎo)出的運(yùn)行時(shí)數(shù)據(jù)表工作表的名稱或索引。索引值從 1 開始。
示例:
以下示例使用 ExportSheet 方法將運(yùn)行時(shí)數(shù)據(jù)表的第一個(gè)工作表保存到 name.xls 文件中。
DataTable.ExportSheet "C:\name.xls" ,1
DataTable.ExportSheet "C:\name.xls" , " MySheet "
11 GetSheet方法
描述:返回運(yùn)行時(shí)數(shù)據(jù)表中的指定工作表。
語法:DataTable.GetSheet(SheetID)
SheetID 變量標(biāo)識(shí)要返回的工作表。SheetID 可以是工作表名稱或索引。
索引值從 1 開始。
返回值:DTSheet 對(duì)象
示例:
以下示例使用 GetSheet 方法返回運(yùn)行時(shí)數(shù)據(jù)表的"MySheet"工作表,以便向其中添加參數(shù)。
MyParam=DataTable.GetSheet ("MySheet").AddParameter("Time", "8:00")
您還可以使用該方法向"MySheet"本地表中添加參數(shù)(注意,不會(huì)返回值)。
DataTable.GetSheet ("MySheet").AddParameter "Time", "8:00"
12 GetSheetCount方法
描述:返回運(yùn)行時(shí)數(shù)據(jù)表中的總工作表數(shù)。
語法:DataTable.GetSheetCount
返回值:數(shù)字
示例:
以下示例使用 GetSheetCount 方法查找運(yùn)行時(shí)數(shù)據(jù)表中的總工作表數(shù),并將其寫入報(bào)告。
sheetcount = DataTable.GetSheetCount
Reporter.ReportEvent 0, "工作表編號(hào)", "數(shù)據(jù)表中有" & sheetcount & "個(gè)工作表。
13 Import方法
描述:將指定的 Microsoft Excel 文件導(dǎo)入運(yùn)行時(shí)數(shù)據(jù)表。
注意:
導(dǎo)入的表必須與測(cè)試或組件匹配。列名必須與測(cè)試或組件中的參數(shù)匹配,并且工作表名稱(用于測(cè)試)必須與操作名匹配。
如果導(dǎo)入的 Excel 表包含組合框或列表單元格、條件格式或其他特殊單元格格式,則不會(huì)導(dǎo)入這些格式,并且單元格在數(shù)據(jù)表中顯示時(shí)包含固定值。
語法:DataTable.Import(FileName)
FileName 字符串型 要導(dǎo)入的 Excel 表的完整路徑。
示例:
導(dǎo)入的表將替換現(xiàn)有運(yùn)行時(shí)數(shù)據(jù)表(包括所有數(shù)據(jù)表)中的所有數(shù)據(jù)。
以下示例使用 Import 方法將 flights.xls 表導(dǎo)入運(yùn)行時(shí)數(shù)據(jù)表。
DataTable.Import ("C:\flights.xls")
14 ImportSheet方法
描述:將指定文件的工作表導(dǎo)入運(yùn)行時(shí)數(shù)據(jù)表的指定工作表。導(dǎo)入的工作表中的數(shù)據(jù)將替換目標(biāo)工作表中的數(shù)據(jù)(請(qǐng)參閱 SheetDest 參數(shù))。
注意:
導(dǎo)入的工作表中的列標(biāo)題必須與工作表導(dǎo)入操作中的數(shù)據(jù)表參數(shù)名匹配。否則,測(cè)試或組件可能會(huì)失敗。
導(dǎo)入的工作表會(huì)自動(dòng)采用它所替換的工作表的名稱。
如果導(dǎo)入的 Excel 工作表包含組合框或列表單元格、條件格式或其他特殊單元格格式,則不會(huì)導(dǎo)入這些格式,并且單元格在數(shù)據(jù)表中顯示時(shí)包含固定值。
語法:DataTable.ImportSheet(FileName, SheetSource, SheetDest)
FileName 字符串型要從中導(dǎo)入工作表的 Excel 表的完整路徑。
SheetSource 變量 要從文件導(dǎo)入的工作表的名稱或索引。索引值從 1 開始。
SheetDest 變量數(shù)據(jù)表中要用 SheetSource 替換的工作表的名稱或索引。索引值從 1 開始。
示例:
以下示例使用 ImportSheet 方法將 name.xls 表的第一個(gè)工作表導(dǎo)入測(cè)試的運(yùn)行時(shí)數(shù)據(jù)表中的Action1工作表。
DataTable.ImportSheet "C:\name.xls" ,1 ," Action1"
DataTable.ImportSheet "C:\name.xls" ,1 ," Global"
Qtp中不要使用Global表,會(huì)出現(xiàn)死循環(huán)現(xiàn)象
posted on 2013-12-19 11:08 順其自然EVO 閱讀(2918) 評(píng)論(0) 編輯 收藏 所屬分類: qtp