2009-02-09 63 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")