51Testing软件测试论坛

标题: Object not visible 如何解决 [打印本页]

作者: farbean    时间: 2008-6-20 11:43
标题: Object not visible 如何解决
在前一个版本录制的脚本,在新的版本运行时,执行步骤:SwfWindow("窗体名").SwfToolbar("tlbOceanJob").Press "新增"  报错,提示"Object not visible".
   
    该对象所在的窗体已activate, 用objcet spy查看该对象时, visible属性为true. 为什么还是not visible呢?  该问题要如何解决呢?
作者: 假装不在    时间: 2008-6-20 12:19
有2个方法:
1,通过API,调用findwindw的方法。
2,直接这么写:
if window("text:="你要判断的那个窗口的标题).exist then
作者: farbean    时间: 2008-6-20 14:28
按你的方法2 还是一样呀:
  If  swfwindow("text:=窗口的标题").exist (0) then
        Msgbox("窗口存在")
        SwfWindow("窗体名").SwfToolbar("tlbOceanJob").Press "新增"
  else
     Msgbox("窗口不存在")
end if

还是弹出消息框:Object not visible 。

方法1,我不会用。 我觉得这样好像解决不了问题吧。

[ 本帖最后由 farbean 于 2008-6-20 14:36 编辑 ]
作者: farbean    时间: 2008-6-20 15:46
请帮忙啊!!!!!!!!!!
作者: MarsNoNo    时间: 2008-6-20 16:18
加一句:
window("text:="你要判断的那个窗口的标题).active
基本上就这样了!
作者: farbean    时间: 2008-6-20 16:22
我在1楼就说了, 该窗口已激活了。
作者: farbean    时间: 2008-6-23 09:02
请问各位还有其它方法吗?
作者: jacksboy    时间: 2008-6-23 09:10
在OBJECT RESPORITY中加入这个对象,然后在STEP  GENERATOR中找到这个对象,选择ACTIVATE方法点确定,试试
作者: farbean    时间: 2008-6-23 09:27
谢谢, 不过我试了还是没用。  这个不可见按钮是在Toobar上。
作者: farbean    时间: 2008-6-23 15:44
up
作者: farbean    时间: 2008-6-24 09:26
up
作者: farbean    时间: 2008-6-24 13:53
up
作者: farbean    时间: 2008-6-24 17:24
up
作者: farbean    时间: 2008-6-25 09:35
up
作者: xjh83xy    时间: 2008-6-25 11:47
关注中~~~
也碰到过类似问题,求解
作者: zx198774    时间: 2008-6-25 12:40
你可以在点击前面加个等待试试
作者: farbean    时间: 2008-6-25 13:47
试过,没用的。
作者: caodongjian    时间: 2008-6-25 16:44
关注一下.
作者: ppent    时间: 2008-6-26 14:40
我也曾遇到这样的问题,但与软件的版本变化无关。一般是qtp的脚本运行速度太快,由于界面还没有真正初始化完,控件处于不可操作状态而报的错,通常用一些wait、sync的方法可以解决。
但感觉楼主的问题好像不是这种的,具体情况能否详细描述一下?
作者: farbean    时间: 2008-6-28 14:13
问题根源找到了, 原来是这个按钮的边框被其它对象遮住了,才导致QTP不可见的.
作者: dftx511619    时间: 2008-7-4 09:46
原帖由 farbean 于 2008-6-28 14:13 发表
问题根源找到了, 原来是这个按钮的边框被其它对象遮住了,才导致QTP不可见的.



这个问题貌似 用肉眼可以看见的啊!
作者: jifeng    时间: 2008-7-4 11:09
http://www.51testing.com/?92935/ ... e_itemid_67956.html
作者: MarsNoNo    时间: 2008-7-4 17:24
不就是用.active就可以了啊!
非。。。
作者: jxwsxx    时间: 2009-9-1 23:00
最近和lz遇到了同样的问题,用lz的方法问题已解决。觉得QTP录制和回放的窗体位置和大小模式对

脚本的录制和回放影响挺大的,特别是有时需要使用ctrl键进行对象拖动。在QTP9.1版本中这个功能

可能会导致系统挂掉,必须重启os的问题。。。

希望大家录制时小心了。。。
作者: shanxiwamm    时间: 2011-7-7 15:28
还是不太懂,没弄好我的,纠结
作者: nish    时间: 2011-7-7 15:48
按你的方法2 还是一样呀:
  If  swfwindow("text:=窗口的标题").exist (0) then
        Msgbox("窗口存在")
         ...
farbean 发表于 2008-6-20 14:28


你把If  swfwindow("text:=窗口的标题").exist (0) then
中的时间改长点看看
比如If  swfwindow("text:=窗口的标题").exist (5) then




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