51Testing软件测试论坛

标题: 急求Object not visible错误的解决方法 [打印本页]

作者: rxiaofan    时间: 2007-1-25 10:46
标题: 急求Object not visible错误的解决方法
我用QTP加.Net Add In测试某个C/S系统,其中遇到一个怪问题,脚本如下:

SwfWindow("IT-FastClose").SwfWindow("Set-up").SwfCheckBox("Include Free Variable").Set "OFF"
SwfWindow("IT-FastClose").SwfWindow("Set-up").SwfCheckBox("Include Free Variable").Set "ON"

回放时,第一句执行结果正确,第二句就会出错,错误信息就是Object not visible。
但是其实这两句是对同一个check box选中和不选中的操作,不选中就能成功,选中会出错。
我加了wait语句也还是会出错。希望有更好的解决办法,谢谢谢谢谢谢谢谢各位大侠了。
作者: 风过无息    时间: 2007-1-25 12:18
SwfWindow("IT-FastClose").SwfWindow("Set-up").SwfCheckBox("Include Free Variable").Set "ON" 这句话是你录制产生的还是自己拷贝修改?
看一下,单独的set OFF和 set on是否可以跑过?
作者: rxiaofan    时间: 2007-1-25 13:01
我是录制的,就录制选中和不选中两个动作,回放的时候第二句就会出错了。
作者: walker1020    时间: 2007-1-25 13:13
你到 Test Report 里面看看 具体的原因,看看到底是SwfCheckBox("Include Free Variable").对象的哪个属性发生了变化。这样才好有针对性地去修改
作者: kevin_swpi    时间: 2007-1-25 13:30
应该是SwfCheckBox的属性发生了变化
不然不可能找不到这个对象的....
作者: 奶茶公主    时间: 2007-9-18 16:21
有没有实际的解决方法啊?
...........我现在也遇到这个问题了!!!
作者: walker1020    时间: 2007-9-18 22:13
你看一下运行时的 Application, 对象SwfCheckBox 是否是灰色的(不可用),所以不让你选择呀。如果是这样,QTP自然是会报告Object not visible了
作者: junlingliu    时间: 2007-11-23 16:40
我遇到了同样的问题:
Dialog("iP-FunTV Player").Click 287,254   
运行到这里时有时会报错,有时又会运行!本来以为是测试窗口被移动了位置的原因,但把它映射成button后还是一样.
我观察了下,好象是测试窗口被QTP遮盖了,但是我不明白为什么窗口会被遮盖?!
也急!
作者: badguy    时间: 2007-11-30 12:27
有人知道解决办法么
我也遇到了,页面比较长,进入页面时,我要操作的对象需要下拉页面才看得到
这时操作对象,就报not visible,但若将对象拉出来屏幕可见,则不会出错
作者: badguy    时间: 2007-11-30 15:32
o,我的问题通过type micend就可以了,但是不知道啥原因,是页面的问题么?
作者: yzem99    时间: 2007-11-30 16:17
Print SwfWindow("IT-FastClose").SwfWindow("Set-up").SwfCheckBox("Include Free Variable").Exists(0)
Print SwfWindow("IT-FastClose").SwfWindow("Set-up").SwfCheckBox("Include Free Variable").Object.IsVisible
看看这个组件是不是存在或者是可见的
作者: LittleDuck    时间: 2007-11-30 16:19
标题: 回复 8# 的帖子
To junlingliu:
建议你在每次运行 Dialog("iP-FunTV Player").Click 287,254    语句前, 运行一下 Dialog("iP-FunTV Player").Activate 这样可以确保你需要的这个窗口在前端。
作者: junlingliu    时间: 2007-12-6 10:04
谢谢美美,我知道了
作者: chbhaha    时间: 2008-4-17 16:04
怎么解决这个问题,各位?
作者: xiaodnilin    时间: 2009-8-28 21:46
SwfEditor, SwfComboBox, SwfSpin都会出现“object not visible”的问题,我现在是用数据驱动时第一个数据一般能通过,第二个数据开始就会出问题了。我试了wait,也试了Activate,还是一样有问题。有时出问题时点击一下那个程序,再点retry就可以了,哪位高手帮看一下要怎么解决啊?
作者: hugh007    时间: 2009-8-29 10:18
SwfWindow("IT-FastClose").SwfWindow("Set-up").SwfCheckBox("Include Free Variable").object.setAttribute(“属性名”,“OFF”)
SwfWindow("IT-FastClose").SwfWindow("Set-up").SwfCheckBox("Include Free Variable").object.setAttribute(“属性名”,“ON”)
作者: lyscser    时间: 2010-10-28 22:12
本帖最后由 lyscser 于 2010-10-28 22:13 编辑

嘿嘿,试试本座的方法吧,只要RP好,一般都可以对付,不过也有失败的几率哦……

Set Wshshell = CreateObject("Wscript.shell")
SwfWindow("IT-FastClose").SwfWindow("Set-up").SwfCheckBox("Include Free Variable").Set "OFF"
isact = False
Do While isact = False
   If Wshshell.AppActive("IT-FastClose") = True Then  'AppActive("IT-FastClose")------这里括号里面要是windows显示出来的窗口标题,可以用Spy获取
      SwfWindow("IT-FastClose").SwfWindow("Set-up").SwfCheckBox("Include Free Variable").Set "ON"
      isact = True
   Else
      SwfWindow("IT-FastClose").SwfWindow("Set-up").SwfCheckBox("Include Free Variable").Click
   End If
Loop
作者: xue202757    时间: 2010-10-29 13:25
在下次引用這個對象之前 refresh一下, object.RefreshObject
作者: jetqu2003    时间: 2011-3-2 18:17
将此对象进行重新激活,进行ACTIVE. 看一下是否可行




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