51Testing软件测试论坛

标题: 经验分享:先打开IE后打开QTP和先打开QTP后打开IE可能导致对象无法识别问题 [打印本页]

作者: ttbelieve    时间: 2013-5-22 16:32
标题: 经验分享:先打开IE后打开QTP和先打开QTP后打开IE可能导致对象无法识别问题
背景:公司需要对一个项目进行自动化,用的是开源jQuery控件。
刚开始,我先打开浏览器,再开始QTP11.进行对象的识别-》结果无法识别,识别器只识别了winobject。很郁闷。查度娘,没有信息。
查谷歌,惠普论坛找问题答案。
看见一位美国人民说,可以试试IE和QTP交换打开。刚开始不明白什么意思。尝试的操作一下,先关闭IE(此时QTP开启),在重新打开。果然识别了。
敢问各位大师,这是什么个原理。QTP和IE的开启的先后顺序为什么会影响对象的识别?????
作者: 跑跑跑跑    时间: 2013-5-22 16:51
因为QTP和BHO(浏览器辅助对象)机制是挂钩的,当你每次打开IE浏览器都会自动向QTP中加载BHOManager,而QTP在IE中识别对象是依靠一个名为BHOManager Class的动态链接库来完成的,如果是先打开IE再打开QTP,QTP就不能成功读取到BHOManager Class这个动态链接库,所以识别对象失败。
作者: 赵佳乐SMILE    时间: 2013-5-22 17:13
回复 2# 跑跑跑跑


    专业。。顶
作者: 黑羽祭    时间: 2013-5-23 12:15
老问题了,几乎是新手必问~




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