簡體   English   中英

QTP使用Excel ROW比較Webtable行

[英]QTP Compare Webtable Row with Excel ROW

我有一個包含10行的Web表,並且Excel工作表中有一個包含100行數據的類似表。

我需要檢查Excel中是否存在10行Web表格數據,還需要打印ex的哪一行在此處輸入圖像描述 ,以匹配它。

您尚未提供有關Webtable的任何詳細信息,因此我假設它只有一列包含多行。如果它有多個,則初始化一個數組然后進行比較。 如果excel中的所有值都與webtable匹配,它將返回true。

Function Chktbl (coulmnname,sheetname,tblname)
Chktbl = True 
Dim marray,excelop,weblistcount,l,m,k
l = datatable.LocalSheet.GetRowCount
For m = 1 To l
datatable.LocalSheet.SetCurrentRow m
excelop=trim(Datatable.Value(""&coulmnname,""&sheetname))
webcount = Browser("name:=.*").Page("title:=.*").Webtable("name:="&tblname).Rowcount
For k = 1 to webcount
marray =  Browser("name:=.*").Page("title:=.*").Webtable("name:="&tblname).getcelldata (k,1)
If excelop= "" Then
Exit For    
End If
If Ucase(excelop) = Ucase(trim(marray)) Then

Exit For
ElseIf k = webcount Then
reporter.ReportEvent micFail,"No match","Fail"
Chktbl = False
Exit For 

End If

Next 

下一個

結束功能

首先,將WebTable中的數據行讀入數組

Dim Table, CheckArray
Set Table = Browser("YourBrowser").Page("YourPage").WebTable("YourTable")
ReDim CheckArray(Table.RowCount - 1)  ' Arrays index from 0, table rows from 1
For iLoop = 1 to Table.RowCount
    CheckArray(iLoop-1) = Table.GetCellData(iLoop, 1)
Next

一旦有了該數組,就可以遍歷每個值並對照Excel表進行檢查。 有幾種方法可以實現此目的。

  1. 將excel表加載為數據表並遍歷各行以查找匹配項
  2. 使用SQL直接查詢文件以檢查Web表中的值是否存在
  3. 通過COM方法訪問文件,並使用Excel的“查找”功能查找數據。

其中最小的復雜度為1,因此我將在此處詳細說明該方法:

Datatable.Import("YourExcelFilePathHere.xls", Global)
iRowsToCheck = DataTable.GetRowCount
For iLoop = 0 to Ubound(CheckArray)
    bFound = False
    For iSubLoop = 1 to iRowsToCheck
        DataTable.SetCurrentRow(iSubLoop)
        If CheckArray(iLoop) = Datatable.Value("ColumnName") Then
            bFound = True
            Exit For
        End If
    Next
    If bFound Then
        CheckArray(iLoop) = CheckArray(iLoop) & " was found"
    Else
        CheckArray(iLoop) = CheckArray(iLoop) & " was not found"
    End If
Next

這將導入您的excel文件,並針對webtable數組中的每個元素在excel表中進行檢查。 如果找到,它將退出並將數組項標記為找到。 如果在未將bFound設置為True的情況下bFound ,則找不到它並進行相應更新。

然后,您可以根據需要輸出數組的內容以獲取結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM