ttbelieve 发表于 2013-5-22 16:32:59

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

背景:公司需要对一个项目进行自动化,用的是开源jQuery控件。
刚开始,我先打开浏览器,再开始QTP11.进行对象的识别-》结果无法识别,识别器只识别了winobject。很郁闷。查度娘,没有信息。
查谷歌,惠普论坛找问题答案。
看见一位美国人民说,可以试试IE和QTP交换打开。刚开始不明白什么意思。尝试的操作一下,先关闭IE(此时QTP开启),在重新打开。果然识别了。
敢问各位大师,这是什么个原理。QTP和IE的开启的先后顺序为什么会影响对象的识别?????

跑跑跑跑 发表于 2013-5-22 16:51:37

因为QTP和BHO(浏览器辅助对象)机制是挂钩的,当你每次打开IE浏览器都会自动向QTP中加载BHOManager,而QTP在IE中识别对象是依靠一个名为BHOManager Class的动态链接库来完成的,如果是先打开IE再打开QTP,QTP就不能成功读取到BHOManager Class这个动态链接库,所以识别对象失败。

赵佳乐SMILE 发表于 2013-5-22 17:13:50

回复 2# 跑跑跑跑


    专业。。顶

黑羽祭 发表于 2013-5-23 12:15:27

老问题了,几乎是新手必问~
页: [1]
查看完整版本: 经验分享:先打开IE后打开QTP和先打开QTP后打开IE可能导致对象无法识别问题