QTP:参数化数据库检查点

时间:2009-02-09 21:54:02

标签: automation automated-tests qtp

我在QTP中有一个数据库检查点(HP QuickTest Pro);如果我传递一个静态查询,这个检查点是有效的,但我需要能够传递参数或以编程方式构建查询。我也知道如何以编程方式从QTP查询数据库,但没有看到根据其结果创建检查点的方法。

具体来说,如果返回的RecordCount = 0,我想导致失败,如果> = 1,我想导致失败。我是开发人员,而不是测试人员;并且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 个答案:

答案 0 :(得分:1)

知道了。我给它静态查询并在评估之前更改它。

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