为啥必须先打开QTP,再打开Web网页

来源: 51Testing软件测试网   作者: 余杰 赵旭斌  作品:精通QTP - 自动化测试技术领航


 

    相信许多QTP的使用者即使选择正确的插件,有时仍然会出现上图中的情况。

    其实解决办法相当简单,只要关闭QTP和测试网页,然后先打开QTP,再打开测试网页即可解决!

    为什么会这样呢?

    说的简单点就是,QTPBHO机制是挂钩的。因为安装完QTP之后,每次打开IE,浏览器会自动加载BHOManager。

    而QTPIE中识别对象是依靠一个名为BHOManager Class的动态链接库来完成的。

    如果是先打开IE再打开QTPQTP就不能成功读到BHOManager Class这个动态链接库,从而导致QTP识别对象失败。


小提示:

  What is "BHO"?—BHO(Browser Helper Object,浏览器辅助对象,简称BHO)。BHO是微软推出的作为浏览器对第三方程序员开放交互接口的业界标准,通过简单的代码就可以进入浏览器领域的“交互接口”(INTERACTIVED Interface)。BHO对象依托于浏览器主窗口。实际上,这意味着一旦一个浏览器窗口产生,一个新的BHO对象实例就要生成。任何BHO对象与浏览器实例的生命周期是一致的。其次,BHO仅存在于Internet Explorer 4.0及以后版本中。BHO是一个COM进程内服务,注册于注册表中某一键下。在启动时,Internet Explorer查询那个键并把该键下的所有对象预以加载。


posted @ 2012-02-10 23:52  Sirrah  阅读(1155)  评论(0编辑  收藏  举报