51Testing软件测试论坛

标题: QTP对Browser对象的识别,真是奇怪,请告诉我原因 [打印本页]

作者: zhengfeng    时间: 2005-11-25 10:09
标题: QTP对Browser对象的识别,真是奇怪,请告诉我原因
我录制了一个流程,这个流程中首先打开一个Browser, 然后这个Browser某link打开第二个Browser -Browser2, 然后这个Browser2 某link打开第三个Browser -Browser3,
并对第三个Browser -Browser3中的对象进行操作,如press the button 等。

可是回放时,Qtp 打开第三个Browser后,按第三个Browser中的button,往往不能正确定位到第三个Browser,而是跑到第一,二个Browser找这个按钮对象,然后报: 找不到对象。

这个问题我怎么也解决不了,只好关机重启机器,这时,还是先前的录制,却发现QTP能正确识别第三个Browser了,真是奇怪。

这个问题已经出现好几次了,哪位高手与遇到过类似问题,并知道原因,请告诉我如何解决, 毕竟我不能老是重启机器。
作者: zhengfeng    时间: 2005-11-25 10:35
标题: 是不是我不断打开浏览器,没有在内存销毁的原因呀
我使用公用的Action 打开浏览器:
StartURL = "http://localhost:8080/ceap"
set IE = CreateObject("InternetExplorer.Application")
IE.Visible = true
IE.Navigate StartURL

就是不知道 经常性的 CreateObject("InternetExplorer.Application"), 内存中是否destroy掉?
作者: pcl2004_27    时间: 2005-11-25 12:37
1.我觉得  你的问题中是由于 你的三个 browser对象在对象库中的识别属性都有可能是一样,你找一下他们的不同点,添加不同的识别对象属性,应该可以正确定位!
2.内存没问题,不过你要是不断createobject,但是不释放掉对象,就会有问题的!

应该用完之后 set ie=nothing掉 ,才不会导致内存问题
作者: tomzhang    时间: 2006-1-19 14:10
标题: 我也前也遇到过一个类似的问题
大概就是pcl2004_27
超级版主讲的原因!
作者: cololyn    时间: 2006-1-19 14:33
标题: set ie=nothing 有什么用啊
在脚本里面加了这句话没发现什么变化。
作者: yangkinki    时间: 2006-1-19 18:10
如果你createobject不只是使用一次,使用了而不释放,从代码测试来说就有问题,不过你这种情况还不至于使系统怎么样,所以没什么变化。不加这句的话会影响系统性能。
你可以在点击第三个Browser中的button之前加入语句
........ .active 进行试试




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