QTP測試報表table內容的思路

發表于:2008-06-12來源:作者:點擊數: 標簽:qtpQTPtable思路
使用 QTP 對報表中的webtable內容進行正確性驗證。 基本思路是: 一:使用getcelldata(i,j)的方法遍歷webtable把表格內容存入一個數組中,一般為二維數組 二:使用 數據庫 連接組件ADODB連接后臺數據庫,使用數據結果集對象保存select查詢結果,也是一個二
使用QTP對報表中的webtable內容進行正確性驗證。

基本思路是:

一:使用getcelldata(i,j)的方法遍歷webtable把表格內容存入一個數組中,一般為二維數組

二:使用數據庫連接組件ADODB連接后臺數據庫,使用數據結果集對象保存select查詢結果,也是一個二維數組

三:此時區分是否需要驗證排列順序,如果需要,直接對兩個二維數組進行一對一遍歷比較

四:不需要驗證排列順序,或者順序無法控制的情況下,我們需要對顯示內容和查詢預期內容進行比較,這時候牽涉到兩個結果集的數據順序問題,如果采用單對多遍歷的情況,效率會十分低。

這時候我們換一種思路考慮,既然是驗證內容,那我們就可以把二維數組的驗證轉換成排序一維數組比較,實現方式是,采用join方法將二維數組的每一行轉換成一個字符串(內容沒有變化,只加入拼接符),兩個二維數組進行相同轉換,成為兩個一維的字符串數組。

然后使用快速排序法對兩個一維數組進行一次排序,同樣的機制下,如果原本內容相同,那么排序出的內容也應該相同。然后直接進行一維數組一對一比較。

下面是vbs的快速排序代碼,合適數字和字符串數組:

Public Function QSort(ByRef ReArr, ByVal head, ByVal tail)

'ReArr 是待排序數組, head和tail是該數組的最小下標和最大下標
Dim lef, rig
Dim pivot

If head < tail Then
lef=head
rig=tail
pivot=ReArr(lef)
While (lef <> rig)

While (lef < rig and ReArr(rig) >= pivot)
rig = rig-1
Wend
If lef <rig Then
ReArr(lef) = ReArr(rig)
lef = lef+1
End If

While (lef < rig and ReArr(lef) <= pivot)
lef = lef+1
Wend
If lef <rig Then
ReArr(rig) = ReArr(lef)
rig = rig-1
End If

Wend

ReArr(lef) = pivot
call QSort(ReArr, head, lef-1)
call QSort(ReArr, lef+1, tail)

End If
End Function

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97