2009-02-09 71 views
0

我在QTP(HP QuickTest Pro)中有一個數據庫檢查點;這個檢查點可以工作,如果我傳遞一個靜態查詢,但我需要能夠傳遞參數或以編程方式構建查詢。我也知道如何從QTP以編程方式查詢數據庫,但沒有看到根據其結果創建檢查點的方法。QTP:參數化數據庫檢查點

具體而言,如果返回的RecordCount = 0,我希望導致FAIL,如果> = 1,則導致PASS。我是開發人員,而不是測試人員;和QTP forums沒有響應 - 幫助我!

這是我試過的代碼 - 它的工作原理,但缺乏一個檢查點:

Dim con, rs,strSQL, Param1, Param2 
Param1 = DataTable("B", dtGlobalSheet) 
Param2 = DataTable("A", dtGlobalSheet) 
Set con=Createobject("ADODB.Connection") 
Set rs=Createobject("ADODB.recordset") 
rs.CursorLocation = 3 
rs.CursorType =3 
connSTR= "Driver={SQL Server};Server=vsql0001;Database=DB0001;Dsn=myRegistryName" 
con.open connSTR 
strSQL= "select Field1, Field2 from dbo.Table1 where Field1 in (select Field1 from  dbo.Table2 where Param2 like '%"+Param2+"%' and active = 1) and (Field2  = '"+Param1+"' or Field2 like '"+Param1+" %' or Field2 like '%*"+Param1+"' or Field2  like '%*"+Param1+"*%')" 
rs.open strSQL, con 
msgbox rs.recordcount ' want the CP to go here 
rs.close 
con.close 

回答

1

明白了。我給它靜態查詢並在評估之前對其進行更改。

strSQL= "select [...]" 
DbTable("DbTable").SetTOProperty "Source", strSQL 
DbTable("DbTable").Check CheckPoint("DbTable")