51Testing软件测试论坛

标题: 急!关于数据库检测点的问题 [打印本页]

作者: xxyyzzz    时间: 2008-5-20 10:46
标题: 急!关于数据库检测点的问题
对于查询结果做检查
1.为什么数据库数据增加了,可是检查显示的始终是我建数据源时显示的那些记录
2.查询条件已经改变了,为什么检测点结果还是正确
是我对数据库检查点理解有错吗?我的理解是做了数据库检测点,写出的SQL语句显示的记录应该与页面的查询结果一致。
作者: xxyyzzz    时间: 2008-5-20 13:42
没人支持下吗,急用啊,多谢
作者: xueboy118    时间: 2008-5-20 15:00
你的数据库检查点的是用QTP向导生成的,还是用纯代码实现的?
我感觉用QTP向导生成的数据库检查点灵活性太差,我一般是用纯代码的方式来实现的。
作者: xxyyzzz    时间: 2008-5-21 14:37
我都是用QTP向导生成的,能给个代码的例子吗
作者: jackymail    时间: 2008-5-21 16:04
为防止误导他人,将错误言论删除。

[ 本帖最后由 jackymail 于 2008-5-21 17:02 编辑 ]
作者: xueboy118    时间: 2008-5-21 16:17
Browser("网站后台管理").Page("网站后台管理").Frame("left").Link("工作站人员管理").Click
Browser("网站后台管理").Page("网站后台管理").Frame("main").Link("添加").Click
Browser("网站后台管理").Page("网站后台管理").Frame("main_2").WebEdit("username").Set "vv1"
mm=Browser("网站后台管理").Page("网站后台管理").Frame("main_2").WebEdit("username").GetROProperty("value")
Browser("网站后台管理").Page("网站后台管理").Frame("main_2").WebEdit("password").SetSecure "448fd7cf8e392c5cdb8ca299"
Browser("网站后台管理").Page("网站后台管理").Frame("main_2").WebEdit("repassword").SetSecure "448fd7d1d0c5ec492dd8a447"
Browser("网站后台管理").Page("网站后台管理").Frame("main_2").WebButton("确  定").Click
'Browser("网站后台管理").Page("网站后台管理").Sync
------上面的代码是在网站后台添加一个管理员,下面的代码是用来在数据库中检查有没有新的记录生成
Dim res,cmd,sql
Set Res=createobject("adodb.recordset")
Set Cmd=createobject("adodb.command")
‘连接SQLServer2000数据库
(连接数据库代码显示不完整,我截了张图片,具体见图片)
Cmd.CommandType = 1
‘这条SQL用来查询数据库中是否存在新添加的用户的记录
sql="select  *  from member  where username='"&Trim(mm)&"'"
Cmd.CommandText = sql
msgbox sql
Set  res =Cmd.Execute()
’if条件用来判断查询的结果中有没有值(关于SQL的查询,以及IF条件中的判断,你可以根据实际情况来进行修改)
If (res.eof=true) Then
   Reporter.ReportEvent 1,"添加用户,数据库验证","添加失败"
else
    Dim w
    w=res("username")
    If mm=w Then
        msgbox "username=="&w&",页面数据与数据库数据相同!!!"
        Reporter.ReportEvent 0,"添加用户,数据库验证","添加成功"
    End If
End If
Set res=nothing
Set cmd.ActiveConnection=nothing
Set Cmd=nothing

[ 本帖最后由 xueboy118 于 2008-5-21 16:25 编辑 ]
作者: xueboy118    时间: 2008-5-21 16:34
至于5#所说,检查点不能用代码生成,那完全是错误的,那是5#没有用类似的代码实现过此功能,参照我给的用代码实现的检查点的代码,完全可以实现,无论是页面做新增、修改、删除或查询操作,我给出的数据库检查点的代码是完全可以检查出来的,具体实现主要是在代码的IF条件判断中。
作者: xxyyzzz    时间: 2008-5-21 16:53
为什么我按楼上的总提示出错呢,对象不支持已命名参数"Cmd.CommandType “
而且到IF语句就说缺少对象”
是不是没连接成功

[ 本帖最后由 xxyyzzz 于 2008-5-21 17:26 编辑 ]
作者: jackymail    时间: 2008-5-21 16:58
唉,我就不该把话说得那么绝对,都是我的错,我不会用ado对象,知识浅薄,道歉。
作者: xueboy118    时间: 2008-5-22 10:40
LZ我不知道你所用的是什么数据库,我所给的代码中的链接数据库,只适用雨SQLServer200数据库,不适用别的数据库,我又把代码另村在TXT文件中,对具体的关键的代码做了注释,你可以看看附件,附件中的代码是我以前在QTP8.2中使用过的,可以运行下去

[ 本帖最后由 xueboy118 于 2008-5-22 10:54 编辑 ]
作者: xueboy118    时间: 2008-5-22 10:44
原帖由 jackymail 于 2008-5-21 16:58 发表
唉,我就不该把话说得那么绝对,都是我的错,我不会用ado对象,知识浅薄,道歉。

其实你也没有错,只是不知道而已,呵呵,谁有敢说自己知道的很多呢,我知道的也不比你多多少,相互学习嘛,呵呵
作者: jackymail    时间: 2008-5-22 14:13
原帖由 xueboy118 于 2008-5-22 10:44 发表

其实你也没有错,只是不知道而已,呵呵,谁有敢说自己知道的很多呢,我知道的也不比你多多少,相互学习嘛,呵呵

o
哦,我是初学者,希望前辈们多多指教。
作者: shangguoli    时间: 2008-5-22 14:56
学习一下。
作者: zzfhncn    时间: 2008-7-18 09:44
原帖由 xueboy118 于 2008-5-21 16:17 发表
Browser("网站后台管理").Page("网站后台管理").Frame("left").Link("工作站人员管理").Click
Browser("网站后台管理").Page("网站后台管理").Frame("main").Link("添加").Click
Browser("网站后台管理").Page("网 ...

‘这条SQL用来查询数据库中是否存在新添加的用户的记录
sql="select  *  from member  where username='"&Trim(mm)&"'"
如果这个Trim(mm)不唯一。应该怎么判断是否新增了记录,比如我现在遇到除了PK,其他字段都不唯一的表。PK是自增的值(id)。
作者: lijian422202    时间: 2008-7-18 10:01
原帖由 zzfhncn 于 2008-7-18 09:44 发表

‘这条SQL用来查询数据库中是否存在新添加的用户的记录
sql="select  *  from member  where username='"&Trim(mm)&"'"
如果这个Trim(mm)不唯一。应该怎么判断是否新增了记录,比如我现在遇到除了PK,其他字段都 ...


其实要想做还容易,只是比较傻而已,先执行一次count(*)保存到变量中去,新增完成再count(*)一次,在IF 后一次count减前一次count等于1就OK了
作者: zzfhncn    时间: 2008-7-18 10:45
标题: 回复 15# 的帖子
感谢楼上,这的确是一种解决方法。不知道还有其它的方法么?

[ 本帖最后由 zzfhncn 于 2008-7-18 11:55 编辑 ]
作者: heqingbluesky    时间: 2008-7-18 10:58
Study again.




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2