51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3445|回复: 11
打印 上一主题 下一主题

[Robot] 对象识别的新问题!请教

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 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是不同的,怎么会都识别出来呢? 还望版主不吝赐教。谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2005-11-9 12:01:21 | 只看该作者
我再描述的详细些,当输入错误的用户名、密码时,系统弹出提示框。这时侯用sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770")
可以识别这个提示框,是我想要的结果。但是当输入正确的用户名、密码是,进入一个新的页面,但是还是这句话sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770")同样可以识别这个新的页面。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2005-11-9 12:10:46 | 只看该作者
你是怎么确定sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770")可以识别“type=Window;Caption=SC社区 - 北京×××信息技术有限公司 - Microsoft Internet Explorer”的,这两个很不一样
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 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"
     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 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2005-11-9 13:43:31 | 只看该作者
你这个脚本是不是有点乱,你首先应该考虑的是怎么去设计脚本
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2005-11-9 13:44:09 | 只看该作者
现在的情况是这样的。当输入正确的用户名、密码时,脚本运行到“运行到这里”。从这个现象分析看,if后面的条件应该是成立的才能执行到Window SetContext, "Caption=Microsoft Internet Explorer", ""
而这个时侯,又找不到 "Caption=Microsoft Internet Explorer", ""才会停下来。
请版主帮忙看看了
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2005-11-9 13:45:06 | 只看该作者
脚本里隐去了一些信息,不好意思
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2005-11-9 17:05:35 | 只看该作者
自己动手调试,不要想当然
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2005-11-10 09:06:23 | 只看该作者
请问ilovejolly是不是回答不上来了?
我可以负责的告诉你,我是自己调试以后没有办法了才到这里提问的!当然我现在还在自己调试!
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 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 ]
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 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看一下,是否存在就知道了。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2005-11-14 10:16:25 | 只看该作者
谢谢海龙版主:)
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-15 20:59 , Processed in 0.085197 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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