51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3313|回复: 4
打印 上一主题 下一主题

[Robot] 高手过来:如何判断某个窗体的enable状态???

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-8-16 21:08:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家讨论比较多的是对某个控件如checkbox、pushbutton的enable的获取,但是如何获取某个窗体的enablde好像还没有人提到。因为在很多数据库程序中,一个界面的打开到可以响应用户的消息需要几秒的延迟,而到底延时多少和要获取的数据量有关,这就提出一个问题,如何能获取窗体的Enable的状态,等检测到enablde才进行下一步的界面操作。否则只能用delayfor来一个很长的演示,这样做效率太低了。我尝试着这样写脚本:

   Window SetContext, "Caption=MSTP通用查询", ""
    Result = SQAGetProperty("type=Window;Caption=MSTP通用查询","Enabled",i)
    If Result = 0 then
        If i = -1 then
            Msgbox("Enable")
        Else
            Msgbox("Disabled")   
        End if      
    Else
        Msgbox(Cstr(Result))
        Msgbox("fail")
    End if

脚本运行报错,错误码是1003,是sqaObjectNotFound。我知道肯定是SQAGetProperty语句有问题,但是不知道怎么才正确。请高手们赐教。。。感谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-8-17 09:27:38 | 只看该作者
改用window验证点呢?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-8-21 17:46:31 | 只看该作者
enableb 换成其他的关键字看看
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-8-21 18:20:05 | 只看该作者
用SQAWaitForPropertyValue应该可以吧
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-8-21 20:15:14 | 只看该作者
Sub main
   Dim i
   Dim Result
   Dim Result1
   Dim Result2
  '''Window SetContext,"Type=Window;Caption=无标题 - 记事本" ,"1"
   Result = SQAFindObject("Type=Window;Caption=无标题 - 记事本")
  ''''Result1 = SQAFindObject("Type=Window;Caption=无标题 - 记事本")
   Result = SQAGetProperty("Type=Window;Caption=无标题 - 记事本","Enabled",i)
    If Result = sqaSuccess then
        If i = True then
            Msgbox("Enable")
        Else
            Msgbox("Disabled")   
        End if      
    Else
        Msgbox(Cstr(Result))
        'Msgbox("fail")
    End if   
End Sub

'Window SetContext帮助里有这么一段:

If this command fails during playback (for example, if the specified window cannot be found), an error is logged, but playback continue regardless of the playback option for script command failures.

所以用了他可能会造成无法找到窗体

上面的代码里我把它注释掉了,你可以试试看,包含它的时候无法找到窗体(重新启动窗体后在执行也找不到),注释掉他后,执行肯定可以找到窗体(如果找不到清关掉无关窗口或者重新启动记事本程序既可以找到)
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-26 01:50 , Processed in 0.071241 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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