51Testing软件测试论坛

标题: 对象识别的新问题!请教 [打印本页]

作者: taoyi_cheng    时间: 2005-11-9 11:52
标题: 对象识别的新问题!请教
看了ilovejolly版主给的连接里的解决办法(http://bbs.51testing.com ... =class%2Bilovejolly),sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770")
可以识别要识别的提示框,可是这句话同样可以把一个新的页面窗口:"type=Window;Caption=××社区 - ×××信息技术有限公司 - Microsoft Internet Explorer"识别出来。这怎么办呢?这里两个窗口的Caption是不同的,怎么会都识别出来呢? 还望版主不吝赐教。谢谢!
作者: taoyi_cheng    时间: 2005-11-9 12:01
我再描述的详细些,当输入错误的用户名、密码时,系统弹出提示框。这时侯用sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770")
可以识别这个提示框,是我想要的结果。但是当输入正确的用户名、密码是,进入一个新的页面,但是还是这句话sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770")同样可以识别这个新的页面。
作者: ilovejolly    时间: 2005-11-9 12:10
你是怎么确定sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770")可以识别“type=Window;Caption=SC社区 - 北京×××信息技术有限公司 - Microsoft Internet Explorer”的,这两个很不一样
作者: taoyi_cheng    时间: 2005-11-9 13:34
我把代码贴上来,版主帮忙看看吧:
mark:call sqadatapoolfetch(dp)
     
     call sqadatapoolvalue(dp,1,username)
     
     Window SetContext, "Caption=SC社区 - 北京***信息技术有限公司 - Microsoft Internet Explorer", ""
     EditBox dblClick, "Name=username", "Coords=29,11"
     inputkeys username
     
     call sqadatapoolvalue(dp,2,password)
     EditBox Click, "Name=password", "Coords=20,12"
     inputkeys  password
     
     HTMLImage Click, "Index=26", "Coords=43,13"
     '输入的用户名、密码出错
     if sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770") = sqasuccess then  
        Window SetContext, "Caption=Microsoft Internet Explorer", ""
         '运行到这里
        PushButton Click, "Text=确定"
        goto mark
      end if
      '输入正确的用户名、密码
        window CloseWin,"",""
startbrowser "http://www.***l.com.cn/scweb/logon.jsp","WindowTag=WEBBrowser"
        window wmaximize,"currentwindow",""
        goto mark

[ Last edited by taoyi_cheng on 2005-11-9 at 13:41 ]
作者: ilovejolly    时间: 2005-11-9 13:43
你这个脚本是不是有点乱,你首先应该考虑的是怎么去设计脚本
作者: taoyi_cheng    时间: 2005-11-9 13:44
现在的情况是这样的。当输入正确的用户名、密码时,脚本运行到“运行到这里”。从这个现象分析看,if后面的条件应该是成立的才能执行到Window SetContext, "Caption=Microsoft Internet Explorer", ""
而这个时侯,又找不到 "Caption=Microsoft Internet Explorer", ""才会停下来。
请版主帮忙看看了
作者: taoyi_cheng    时间: 2005-11-9 13:45
脚本里隐去了一些信息,不好意思
作者: ilovejolly    时间: 2005-11-9 17:05
自己动手调试,不要想当然
作者: taoyi_cheng    时间: 2005-11-10 09:06
请问ilovejolly是不是回答不上来了?
我可以负责的告诉你,我是自己调试以后没有办法了才到这里提问的!当然我现在还在自己调试!
作者: qingchunjun    时间: 2005-11-10 16:55
我觉得问题是不是在这里,你的sqafindobject中的识别方法用的是Type=label,而下面却是Window SetContext,既然type不是window,又何来Window SetContext呢?个人觉得这里不太对,请楼主参考参考。

[ Last edited by qingchunjun on 2005-11-10 at 17:03 ]
作者: 海龙    时间: 2005-11-11 20:29
if sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770") = sqasuccess then  
        Window SetContext, "Caption=Microsoft Internet Explorer", ""
         '运行到这里
        PushButton Click, "Text=确定"
        goto mark
      end if

出错是不是弹出窗口?

如果正确的用户名和密码也能够遭到这个对象sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770") ,说明系统中存在这个对象,你用Inspector看一下,是否存在就知道了。
作者: taoyi_cheng    时间: 2005-11-14 10:16
谢谢海龙版主:)




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