chbanney 发表于 2007-5-28 09:06:07

如果验证查询结果是否正确?

在软件中通常会有查询功能,如录入查询条件页面出现分页显示的结果。这个手工测试时可以通过对比数据库的方法进行比对,验证结果是否正确。那么在QTP中如果实现呢。怎样完全页面的结果和数据库中的结果的比对呢?

jimmy2006.hi 发表于 2007-5-28 09:23:10

可以插入数据库检查点sdlkfj2

agreer 发表于 2007-5-28 10:04:37

那查询条件变化的,怎么设置数据库检查点啊?

rivermen 发表于 2007-5-28 13:20:18

可以连接数据库查询!
Dim conn,sql,res
conn="Provider=MSDASQL.1;Persist Security Info=False;Data Source=QT_Flight32"
sql="select*from Orders"
Set res=nothing

' 调用外部子程序 OpenDB 进行连接数据库
        OpenDB conn,sql,res
                'msgbox res.RecordCount&"行," & res.fields.count & "列"
                res.MoveFirst
           ' res.MoveNext    没有它的话,记录就成了死循环
          
                'reporter.ReportEvent 2,"测试连接数据库","数据库获取数据:" & res.fields(0)

        RowCount=res.RecordCount
        ColumnCount=res.fields.count
        While not res.eof
                Record=""
                For i=0 to ColumnCount-1
                        Record=Record & ":" &res.fields(i)
                Next
                        Record=mid(Record,2)
                        reporter.ReportEvent 2,"数据库记录:",Record
                res.MoveNext
        Wend

' 调用外部子程序 CloseDB关闭数据库
        CloseDB



'#################################################################
'#################################################################
' 连接数据库子程序
' 第一个参数:根据数据库的类型,设计连接字符串(参见udl文件)
' 第二个参数:连接数据库之后,进行查询的相应语句
' 第三个参数:查询记录返回到res
Sub OpenDB(conn,sql,res)
   Set cnn=CreateObject("adodb.connection")
   cnn.open conn
   Set res=CreateObject("adodb.recordset")
   res.open sql,cnn,1,1
   
End Sub
'#################################################################




'#################################################################
'#################################################################
' 关闭数据库的连接
sub CloseDB
   Set res=nothing
        Set cnn=nothing
end sub
'#################################################################

yuandjing 发表于 2007-5-28 16:00:49

rivermen ,正解,高手

FLY000 发表于 2011-4-25 17:01:32

可以连接数据库查询!
Dim conn,sql,res
conn="rovider=MSDASQL.1ersist Security Info=False;Data So ...
rivermen 发表于 2007-5-28 13:20 http://bbs.51testing.com/images/common/back.gif


我的想法是:

1. 在页面和数据库里分别多条件查询,获得数据结果集。获取页面记录的总条数,获取数据库里记录的总条数,两个值对比;
2. 每获取页面上的一条记录,就在数据库的数据结果集中查询(遍历每条记录的每个字段),检验是否存在该条记录。

不过我觉得这个方法的缺点是:当查询出的结果集数量比较大时,就会非常的花费时间。
页: [1]
查看完整版本: 如果验证查询结果是否正确?