51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2374|回复: 5
打印 上一主题 下一主题

[原创] [求助]object not visible

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-6-17 12:01:39 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
运行程序中遇到object not visible的问题

测试程序描述:   
测试的程序框架为一个主窗口,主窗口里可以打开各种不同类型的标签页窗口,类似wps、firefox那样,具有多tab,不同类型的标签页会有不同的工具栏,有的有一个工具栏,有的有多个

程序使用描述性编程
set objtbl = description.create()
objtbl("name").value="标签2"

if window(mainwindow).window(objtbl).exist(1) then
   window(mainwindow).window(objtbl).activate
else
'出错提示
end if

出错的位置在“window(mainwindow).window(objtbl).activate”,就是说已经判断过了窗口是存在的
出错复现步骤是一开始先激活另一个标签页,例如叫标签1,从界面标签1到界面标签2切换时,由于具有不同的工具栏,会导致整个标签页面自适应的调整高度
这里有一个奇怪的现象,虽然提示了 object not visible,但是这个“标签2”界面却仍然被激活了


个人判断出错原因:
由于不同类型标签页工具栏个数及类型不同,当从标签页1激活标签页2时,整个标签页的位置会自适应的移动,在标签页2从A位置移动到B位置的过程中,Qtp没能“看见”程序,就是QTP在点击了标签页2后,再去判断是否已经激活了此页面时,没有“看见”这个页面,问过开发人员,他们没有做过什么修改

请各位提供了可行的解决办法

如下是手动画了个界面展示图,(软件是公司的,直接截图可能会违法公司规定)

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

6#
发表于 2011-6-22 10:05:42 | 只看该作者
如果是远程桌面连接最小化了或者关闭了,怎么努力也是徒劳的
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2011-6-22 09:55:00 | 只看该作者
对于这个问题,我重点是想知道为何出现这个问题,是预防出现,查了国内外的一些类似问题,暂时没有找到为何出现这个问题,
这里在概要描述下问题出现的原因
窗口A在mousedown点击后位置会从(X,Y)移动到(M,N),窗口A开始时位置在(X,Y),当A.activate时,就提示“object not visible”,但是A此时也已经接受了activate动作,到了位置(M,N)
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2011-6-22 09:45:51 | 只看该作者
回复 3# 17800455

试过你的方法,不能解决这个问题。因为是类似wintab的标签页,但是又不是标准的wintab,被处理过,所以直接使用spy是捕捉不到这些标签页,我是将主窗口加入仓库时看到这些标签是被识别成window的
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-7-13 14:04
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    3#
    发表于 2011-6-17 16:51:14 | 只看该作者
    if window(mainwindow).window(objtbl).exist(1) then
       ‘因为窗口的属性为enable = false不可用。
       可以这样试一下。
       waitProperty("enable") = true
        window(mainwindow).window(objtbl).activate
       
    else
    '出错提示
    end if
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2011-6-17 16:00:30 | 只看该作者
    如果标签页2已经被激活,仅仅是想去掉弹出的“object not visable”对话框。
    那很简单。使用qtp自带的场景错误恢复机制就可以。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-23 15:30 , Processed in 0.076412 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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