51Testing软件测试论坛

标题: 紧急求助~!当出现弹出页面关闭该页面,QTP不能识别对象 [打印本页]

作者: wugecat    时间: 2009-7-17 16:17
标题: 紧急求助~!当出现弹出页面关闭该页面,QTP不能识别对象
在我测试的Web程序中出现弹出的Frame后,再将弹出页面关闭,这时页面中所有的对象QTP都不能识别了.之前不弹出页面识别的都是正常的....请问如何解决这种问题????
作者: wugecat    时间: 2009-7-17 16:56
有人知道么?哪怕是一些思路也好
作者: chooseyou123    时间: 2009-7-17 17:03
你是说那个弹出的 提示关闭对话框不能被识别是么?
虽然我没遇见过这种情况
可是我觉得还是从对象库这个方面来考虑。
作者: wugecat    时间: 2009-7-17 17:12
不是的...这个弹出页面是可以识别的..但是只要一关掉这个页面,那么所有对象都不识别了....也就意味着,我不能再做任何操作了....但是只要用手去点击任何链接(刷新了页面),QTP就可以再次识别.但是这样是没有意义的
作者: ls_721521    时间: 2009-7-17 17:17
没遇见过这种情况。。。
你说刷新后就能识别了,那可以写脚本刷新试试。。。
作者: wu_xcw    时间: 2009-7-17 17:30
标题: 试试
开始的时候,先启动QTP,在打开IE,看看能否识别弹出页面,要不就全改成描述性语言写

[ 本帖最后由 wu_xcw 于 2009-7-17 17:31 编辑 ]
作者: wugecat    时间: 2009-7-17 17:38
标题: 回复 5# 的帖子
browser("title:=*******").Refresh刷新我是这样写的.但是再不识别的情况下.页面并没有刷新,QTP也没有报错.....真是头疼啊....
作者: dinglingxdd    时间: 2009-7-17 17:48
如果QTP的spy不可以的花,可以用vc的 spy看下在弹 出页面后原来页面中对象发生了什么变化,以及将弹处页面关闭后,点击任意链接前后原来页面中对象的状态
作者: ls_721521    时间: 2009-7-17 17:50
那刷新整个页面呢,写脚本,按f5刷新再试试,呵呵
作者: wugecat    时间: 2009-7-17 18:03
标题: 回复 9# 的帖子
按F5也许可以.可是我要怎么继续操作我的测试用例呢???这难道是QTP的bug?
作者: ls_721521    时间: 2009-7-17 18:06
用sendkeys键盘发送f5的方法
Set wshshell=createobject(“wscript.shell”)
WshShell.SendKeys "{F5}"
作者: wugecat    时间: 2009-7-17 18:25
标题: 回复 11# 的帖子
这种方法我试了,确实可以.....但是我不能继续我的用例了,页面被刷到了最开始状态..有什么方法可以定位到弹出页面关闭后的哪个页面呢???而且我所作的操作还保留着?
作者: wugecat    时间: 2009-7-17 18:30
据开发人员说再做关闭弹出页面时,为不占用资源,做了类似清除某些javascript的操作(具体是怎样做的就不清楚了,因为对这方面不懂).很可能是这样造成的QTP不能再次识别....但我是没有权利改变开发的
作者: 处处楚楚    时间: 2009-9-28 17:40
楼主解决没有?我也碰到同样问题!
作者: wugecat    时间: 2009-9-28 18:23
呵呵,这个问题困扰了我很久了,我和同事都研究过没有从根本解决问题,目前只有一个没有办法的办法,原因就是开发再点击保存或退出时,为了释放资源销毁了弹出对象,就会出现QTP识别不到的情况,这可能是QTP的bug
作者: dabeixiong    时间: 2009-9-28 22:51
不知道你是咋录得~所以不确定是不是你录制方法问题
作者: 处处楚楚    时间: 2009-9-28 23:42
这个问题跟我遇到的一样哦,就是弹出窗口关闭回来以后主页面的控件都不识别了,有没有具体的好办法呀
作者: nefax    时间: 2009-9-29 01:29
Settings.WebPackage("ReplayType") = 2
关闭动作
Settings.WebPackage("ReplayType") = 1
作者: 处处楚楚    时间: 2009-9-29 18:38
顶上去,继续请求答案
作者: liwenkathy    时间: 2009-10-10 15:17
我也想知道如何解决的
作者: xiaoshancom    时间: 2009-10-10 15:25
试试这里的解决方案:
QTP unable to identify pop up window


作者: kings727    时间: 2009-10-10 15:26
楼上,楼主是弹出窗后,前面可以识别的控件都识别不了了,而你这个是如果识别弹出窗。
可以用描述性编程试试吧。
  想看看你的脚本。

[ 本帖最后由 kings727 于 2009-10-10 15:27 编辑 ]
作者: Janny_01    时间: 2009-10-15 15:33
我也想学习学习,请各位高手指教!!!!!!!!!
作者: chenyuexian    时间: 2010-3-13 15:46
标题: 遇到同样的问题,请问最后楼主如何解决呢?
我这里是弹出的browser(**).page(**)和主页的browser(**).page(**)属性相同,弹出对象browser(**).page(**).frame,点击frame下选择按钮后页面关闭,然后主页的browser(**).page(**)下的所有对象都不可识别了,同事弹出错误对话框“获取弹出层页面对象出错”!
作者: nimcok    时间: 2010-6-27 15:39
如何解决的呢?我也遇到了,难道没有解决的办法?
作者: anlegor    时间: 2010-6-28 14:42
关闭弹出的frame之后,原来页面上web控件能用object spy看到么
作者: chenleafe    时间: 2011-10-26 10:48
我也遇到类似的这个问题:打开了一个frame,这个frame也加入到了对象库,可以当前网站上的所有元素进行操作,可是当我关闭这个frame后,这个网站上的其他元素spy出来就不是最开始的元素了,变得很简单了。就再也不能对网站上的其他元素进行操作了,用描述性编程也不行。刷新后再spy是正确的。

也在研究解决办法
作者: SexyCat_1113    时间: 2011-10-26 13:04
额,遇到特殊的系统情况,的确很麻烦,,,
作者: moumou2011    时间: 2011-11-11 14:21
我也遇到了这样的情况,打开弹出窗口前页面上的元素都能识别,弹出窗口内的元素也都能识别,但是关闭弹出窗口后,原来页面就不能识别了,Browser没变,但Page已经变成了Page:about blank,页面的控件都识别不出来了

有人知道解决办法吗?
作者: 森林一木    时间: 2011-11-11 15:57
试试能不能激活原来的页面,刷新可能不行,会把原来的数据清除掉。实在不行试试描述性编程看看。




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