51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

楼主: xueboy118
打印 上一主题 下一主题

[原创] 如何使用Database checkpoint检查添加的数据是否正确???

[复制链接]
  • TA的每日心情
    开心
    2015-5-4 14:23
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    41#
     楼主| 发表于 2006-5-30 16:16:28 | 只看该作者
    添加msgbox sql   脚本如下:
    Browser("网站后台管理系统").Page("网站后台管理系统").WebEdit("username").Set DataTable("Pname", dtGlobalSheet)
    usname = Browser("网站后台管理系统").Page("网站后台管理系统").WebEdit("username").GetROProperty("Text")
    Browser("网站后台管理系统").Page("网站后台管理系统").WebEdit("password").SetSecure "447bc007c1401dd4511996463d35fd01"
    Browser("网站后台管理系统").Page("网站后台管理系统").WebButton("登 录").Click
    Dim res,cmd,sql
    Set Res=createobject("adodb.recordset")
    Set Cmd=createobject("adodb.command")
    Cmd.activeconnection="Provider = Sqloledb; User ID = sa; Password = sa; Initial Catalog =bb; Data Source = 192.168.2.196 "
    Cmd.CommandType = 1
    sql="selec t  *  from admin_user  where name='"&username&"'"
    Cmd.CommandText = sql
    msgbox sql
    Set res = Cmd.Execute()
    msgbox sql
    Set res = nothing
    Set cmd.ActiveConnection = nothing
    Set Cmd= nothing
    Browser("网站后台管理系统").Page("网站后台管理").Sync

    QuickTest执行时  msgbox的提示信息如下:
    selec t  *  from admin_user  where name=' '

    我在usname = Browser("网站后台管理系统").Page("网站后台管理系统").WebEdit("username").GetROProperty("Text") 前,又试着添加了Dim  usname,运行后结果同上
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    42#
    发表于 2006-5-30 16:25:21 | 只看该作者
    你的username和前面的usname不一样啊,username当然为空啊。
    还有sql是个字符串,你msgbox sql返回的就是sql的值,所以username获取到了,sql才包含username的值。

    [ 本帖最后由 michaelyung 于 2006-5-30 16:26 编辑 ]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-5-4 14:23
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    43#
     楼主| 发表于 2006-5-30 16:30:36 | 只看该作者
    michaelyung ,我用object spy 在activeScreen的登录页面的用户名输入框点了一下,属性中有text 属性,在object spy中值为:======管理员身份验证=====登录名 :密码 :
    点击把值拷贝出来后的代码为:
    usname = Browser("网站后台管理系统").Page("网站后台管理系统").WebEdit("username").GetROProperty("Text")
    object spy 中的属性太多了,我也不知道你说的属性是不是指这个,我不会使用帖图功能 ,只能手敲了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    44#
    发表于 2006-5-30 16:35:52 | 只看该作者
    我刚才随便试了下就行啊。你改成这样:

    username = objParent.WebEdit("name:= username").GetROProperty("value")   //用我前面给你的编程代码,并且替代这里的括号里的username的值。(属性是name的值)

    msgbox username

    我刚才试了下都是可以获取到的,我也不知道怎么给你描述了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-5-4 14:23
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    45#
     楼主| 发表于 2006-5-30 16:38:59 | 只看该作者
    michaelyung  ,不好意思。我刚改了,运行后,还是提示
    selec t  *  from admin_user  where name=' '
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    46#
    发表于 2006-5-30 16:39:07 | 只看该作者
    给你我刚才的一个demo的代码,你先看明白了再说吧:(新建一个Test,考过去就可以运行了)

            SystemUtil.CloseDescendentProcesses

            strInstanceUrl = "http://newtours.mercuryinteractive.com/tour/"
            strBrowser = "Welcome: Mercury Tours"
            strPage="Welcome: Mercury Tours"
            systemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe", strInstanceUrl
           
            Dim objParent
            Set objParent = Browser("title:=" & strBrowser).Page("title:=" & strPage)

            objParent.WebEdit("name:=UserName").Set "Michael Yang"
            MsgBox objParent.WebEdit("name:=UserName").getROProperty("value")
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    47#
    发表于 2006-5-30 16:40:36 | 只看该作者
    原帖由 xueboy118 于 2006-5-30 16:38 发表
    michaelyung  ,不好意思。我刚改了,运行后,还是提示
    selec t  *  from admin_user  where name=' '

    你前面不是有一个username=的语句吗,你看下那个地方username的值到底获取到没有啊。

    如果为空,当然后面name的值也为空啊。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    48#
    发表于 2006-5-30 16:44:09 | 只看该作者
    一切很正常啊,你那很多小问题,所以需要你弄清楚很多基本的问题,否则代码不好解释的。
            SystemUtil.CloseDescendentProcesses
            strInstanceUrl = "http://newtours.mercuryinteractive.com/tour/"
            strBrowser = "Welcome: Mercury Tours"
            strPage="Welcome: Mercury Tours"
            systemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe", strInstanceUrl
           
            Dim objParent
            Set objParent = Browser("title:=" & strBrowser).Page("title:=" & strPage)

            Dim username
            objParent.WebEdit("name:=UserName").Set "Michael Yang"
                          username = objParent.WebEdit("name:=UserName").getROProperty("value")
                         sql="selec t  *  from admin_user  where name='" & username & "'"
            msgbox sql

    [ 本帖最后由 michaelyung 于 2006-5-30 16:45 编辑 ]

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-5-4 14:23
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    49#
     楼主| 发表于 2006-5-30 17:11:45 | 只看该作者
    我在usname = Browser("网站后台管理系统").Page("网站后台管理系统").WebEdit("username").GetROProperty("Text")
    后添加了msgbox sql    提示  selec t  *  from admin_user  where name=' '

    michaelyung
    你的代码,我除了第一句没看懂外,别的差不多都能明白,不知道怎么搞得,用你最早给我的那个代码,修改后,就是 执行不下去,执行到objParent.WebEdit("text:=登录名:").Set strName 就卡住了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    50#
    发表于 2006-5-30 17:16:43 | 只看该作者
    1. 我说过了你那个地方写错了,是username不是usname,你两个地方不一致。
    usname = Browser("网站后台管理系统").Page("网站后台管理系统").WebEdit("username").GetROProperty("Text")
    还没发现吗,第一个。
    2. getROProperty("Text")改成getROProperty("value")
    3. objParent.WebEdit()里的text改成name.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    51#
    发表于 2006-5-30 17:27:14 | 只看该作者
    怎么一个问题用了那么多帖子啊?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-5-4 14:23
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    52#
     楼主| 发表于 2006-5-30 17:45:00 | 只看该作者
    修改的脚本如下:
    Browser("网站后台管理系统").Page("网站后台管理系统").WebEdit("username").Set DataTable("Pname", dtGlobalSheet)
    username = Browser("网站后台管理系统").Page("网站后台管理系统").WebEdit("username").GetROProperty("value")
    Browser("网站后台管理系统").Page("网站后台管理系统").WebEdit("password").SetSecure "447bc007c1401dd4511996463d35fd01"
    Browser("网站后台管理系统").Page("网站后台管理系统").WebButton("登 录").Click
    Dim res,cmd,sql
    Set Res=createobject("adodb.recordset")
    Set Cmd=createobject("adodb.command")
    Cmd.activeconnection="Provider = Sqloledb; User ID = sa; Password = sa; Initial Catalog =bb; Data Source = 192.168.5.196 "
    Cmd.CommandType = 1
    sql="selec t  *  from admin_user  where name='"&username&"'"
    Cmd.CommandText = sql
    msgbox sql
    Set res = Cmd.Execute()
    msgbox sql
    Set res = nothing
    Set cmd.ActiveConnection = nothing
    Set Cmd= nothing
    Browser("网站后台管理系统").Page("网站后台管理").Sync
    执行后  第一个msgbox   提示  select * from admin_user  where =' admin'    QuickTest提示 第 1 行: '*' 附近有语法错误   
    黄色箭头还是指向   Set res = Cmd.Execute()
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-5-4 14:23
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    53#
     楼主| 发表于 2006-5-30 17:56:24 | 只看该作者
    Dim objParent, strName, strPassword   
    strName = "admin"
    strPassword="admin"     
    Set objParent = Browser("title:=网站后台管理系统").Page("title:=网站后台管理系统")
    objParent.WebEdit("name:=登录名:").Set strName
    objParent.WebEdit("name:=密 码:").Set strPassword
    objParent.WebButton("text:=登 录").Click

    Dim res,cmd,sql
    Set Res=createobject("adodb.recordset")
    Set Cmd=createobject("adodb.command")
    Cmd.activeconnection="Provider = Sqloledb; User ID = sa; Password = sa; Initial Catalog =bb; Data Source = 192.168.2.196 "      
    Cmd.CommandType = 1
    sql="select  *  from admin_user  where name="  &  strName
    Cmd.CommandText = sql
    Set res = Cmd.Execute()

    Set res = nothing
    Set cmd.ActiveConnection = nothing
    Set Cmd= nothing

    objParent.sync()
    执行后,QuickTest提示
    Cannot identify the object "WebEdit" (of class WebEdit). Verify that this object's properties match an object currently displayed in your application.
    黄色小箭头指向    objParent.WebEdit("name:=登录名:").Set strName
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    54#
    发表于 2006-5-31 08:45:38 | 只看该作者
    晕,你这句话怎么写的啊?sql="selec t  *  from admin_user  where name='"&username&"'"
    跟你说selec t 我多加了个空格,应该是这样的select, 怎么自己一点都不去思考一下呢?
    这样再试
    sql="select  *  from admin_user  where name='"&username&"'"还有取出来的字符最好去一下空格
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-5-4 14:23
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    55#
     楼主| 发表于 2006-5-31 09:34:17 | 只看该作者
    xiaonan,不好意思,QuickTest中的空格不是很明显,我没有细心检查
    昨天你们两个人两种方法,搞得我疲于调试,跟本就没时间注意细节
    我刚才有重新调试了一下 ,用你的方法,已经可以执行下去了,
    在此,非常感谢你和michaelyung 对我的帮助。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    56#
    发表于 2006-5-31 10:14:45 | 只看该作者
    呵呵,没事!如果我上面的话,那些地方说的有点不妥也请你别放在心上.只是替你有点着急.没别的意思,:)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-5-4 14:23
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    57#
     楼主| 发表于 2006-5-31 10:27:54 | 只看该作者
    没什么的,你也是出于好心,在次感谢
    顺便在问一下,QuickTest的脚本中的编程代码,与VBscript的代码是否相同,还是在本质上有所区别?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    58#
    发表于 2006-5-31 10:50:06 | 只看该作者
    QuickTest的脚本就是用的VBscript的代码,所以如果你对VBscript熟的话,学QTP就容易些
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    59#
    发表于 2006-5-31 11:20:14 | 只看该作者
    xiaonan 现在很厉害啊!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-5-4 14:23
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    60#
     楼主| 发表于 2006-5-31 11:24:41 | 只看该作者
    xiaonan,能否留个联系方式,MSN或QQ什么的,以后要是再有什么疑难问题,好向你请教,呵呵
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 16:41 , Processed in 0.079469 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表