我在 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 也面临同样的问题。但她的电脑没有崩溃!所以我现在对这个问题一无所知。
我能做些什么来解决这个问题?
感谢您阅读这封巨大的信件。