taoyi_cheng 发表于 2005-11-9 11:52:28

对象识别的新问题!请教

看了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:21

我再描述的详细些,当输入错误的用户名、密码时,系统弹出提示框。这时侯用sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770")
可以识别这个提示框,是我想要的结果。但是当输入正确的用户名、密码是,进入一个新的页面,但是还是这句话sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770")同样可以识别这个新的页面。

ilovejolly 发表于 2005-11-9 12:10:46

你是怎么确定sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770")可以识别“type=Window;Caption=SC社区 - 北京×××信息技术有限公司 - Microsoft Internet Explorer”的,这两个很不一样

taoyi_cheng 发表于 2005-11-9 13:34:35

我把代码贴上来,版主帮忙看看吧:
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"
   inputkeyspassword
   
   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:31

你这个脚本是不是有点乱,你首先应该考虑的是怎么去设计脚本

taoyi_cheng 发表于 2005-11-9 13:44:09

现在的情况是这样的。当输入正确的用户名、密码时,脚本运行到“运行到这里”。从这个现象分析看,if后面的条件应该是成立的才能执行到Window SetContext, "Caption=Microsoft Internet Explorer", ""
而这个时侯,又找不到 "Caption=Microsoft Internet Explorer", ""才会停下来。
请版主帮忙看看了

taoyi_cheng 发表于 2005-11-9 13:45:06

脚本里隐去了一些信息,不好意思

ilovejolly 发表于 2005-11-9 17:05:35

自己动手调试,不要想当然

taoyi_cheng 发表于 2005-11-10 09:06:23

请问ilovejolly是不是回答不上来了?
我可以负责的告诉你,我是自己调试以后没有办法了才到这里提问的!当然我现在还在自己调试!

qingchunjun 发表于 2005-11-10 16:55:11

我觉得问题是不是在这里,你的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:17

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:25

谢谢海龙版主:)
页: [1]
查看完整版本: 对象识别的新问题!请教