1

我在 Windows XP 中的虚拟机中安装了 QTP 10。我的应用程序是基于网络的。不需要额外的插件。也不需要补丁,因为 XP、IE 7 和 qtp 10 是兼容的。我的主要操作系统是带有 IE 9 的 Windows 7。我不在那里自动化。我只在XP中自动化。
我的框架运行良好。我在对象间谍、对象存储库或记录和回放方面没有遇到任何问题。我的框架是完全描述性编程的。我的测试运行正常。
最近我的硬盘坏了。技术支持人员不得不重建我的系统。他们给了我一个新的硬盘驱动器并建立了一个新的虚拟机。我不得不重新安装我的所有软件,包括 vmware 中的 QTP v10。
我运行了我的框架,它运行良好。我停止了测试以添加其他代码并再次运行测试。这一次它没有工作。它给出了一条错误消息,它无法识别父对象。然后我使用了对象间谍。
它将网页上的对象标识为 Window 和 WinObject。我很困惑为什么它会这样。
我重新启动了我的qtp。再次使用 Object Spy,这次它是在与 Browser、Page、Webelements 相同的网页上识别对象。
我做了一个简单的记录和回放来测试它。它记录了我的步数并按应有的方式正确播放了这些步数。我重新录制以向脚本添加额外的步骤,但这次它没有录制我的步骤。
我停止了记录并使用 object spy 来查看发生了什么。这次它再次将对象识别为 Window/WinObject。
然后我检查了对象存储库。它在存储库中有 FIRST 记录的对象,但没有后来记录的步骤。我使用 OR 来拾取对象,但它将网站上的对象识别为 WinObjects。
是什么导致 QTP 以这种方式运行?我以为我会重新安装QTP。我联系了惠普。他们给了我有关如何进行干净卸载的说明。我按照他们的步骤通过 regedit 进行了干净的卸载并删除了那些 HKEY_USER ...... .. 东西。
我重新安装了具有完全管理员权限的 QTP 和所有内容。但我仍然面临同样的问题。QTP 在第一次录制和播放时可以正常工作,并且可以正常运行我的框架,但在第一次运行之后它就无法正常工作了。它不识别 Web 应用程序。任何 Web 应用程序,而不仅仅是我必须自动化的应用程序。
1)加载项不是问题
2)不是补丁问题
3)我必须自动化的应用程序没有问题

我相信这是虚拟机?他们如何重建它有问题吗?巧合的是,我的同事的 QTP 也面临同样的问题。但她的电脑没有崩溃!所以我现在对这个问题一无所知。
我能做些什么来解决这个问题?

感谢您阅读这封巨大的信件。

4

3 回答 3

1

这是我之前写的答案,根据您的情况更新:

你能在 IE 中看到 BHOManager 类吗?

Go to IE > Tools > Manage Add-ons, make sure BHOManager class 
(Browser Helper Object) from Mercury Interative Corporation is 
enabled.   

建议禁用其他插件,例如第三方工具栏、反病毒公司的插件等。这是为了确保没有任何东西阻止 QTP 连接到浏览器。

如果是这种情况,请再次重新注册 BHOManager:

Close IE and all iexplore.exe processes in the task manager
Close QTP (or restart your machine)
Go to Start > Run, unregister and register BHOManager.dll: 
    regsvr32 -u c:\WINDOWS\system32\BHOManager.dll 
    regsvr32 c:\WINDOWS\system32\BHOManager.dll 

当这解决了你的第二次运行时,你知道 IE 中的 BHO 有问题:它们没有正确启动或第二次被拒绝。也许是更严格的 IT 政策或急切的病毒扫描程序,可以删除所有无法识别的浏览器插件。

于 2012-11-30T10:48:19.993 回答
0

  1. 自动化 ----> 记录和运行设置 在 Web 和 Windows 应用程序中,应选择第一个单选按钮。

通过更改此设置尝试记录。它会正常工作。

于 2013-09-26T11:24:33.497 回答
0

以管理员模式运行 QTP,同样您需要右键单击 QTP 图标并以管理员身份运行。之后更改记录和运行设置..这将打开浏览器并记录脚本。

只需记录单个对象的脚本,然后运行脚本。

现在你会

于 2013-09-17T09:13:12.783 回答