5

我正在尝试使用 TestComplete 在 ESXi 虚拟机中设置自动化 GUI 测试。据我了解,问题在于,当没有与 ESXi 虚拟机建立远程桌面连接时,TestComplete 无法执行屏幕捕获并因此自动化 GUI 测试。据我了解,这是因为当没有人查看 Windows 时,Windows 不会生成任何用户界面。

我相信其他人也遇到过这个问题。你是怎么解决的?您是否使用在运行测试之前自动启动远程桌面连接的第三方计算机?

是否有可能从无头虚拟机启动远程桌面到另一个虚拟机以假冒某人查看?

我还没有考虑过其他更智能的解决方案吗?

4

3 回答 3

6

您应该能够使用 vSphere 客户端在虚拟机控制台上登录 Windows,然后关闭 vSphere,Windows 仍会认为用户正在查看控制台。就那么简单。:)

因此,不需要在混合中涉及远程桌面。

只要您的测试以登录的 Windows 用户身份运行,您就应该没问题。

对于依赖于交互式桌面的某些 Watir、Selenium 和 MS UI 自动化测试,这种技术对我来说一直很有吸引力。

如果您需要在测试之前/期间自动重新启动 VM,而不是在 vSphere 客户端中手动登录,您可以让 Windows 以任意用户身份自动登录 - 检查“控制 userpasswords2”命令,或者您可以使用 Sysinternals应用程序“自动登录”:

http://technet.microsoft.com/en-us/sysinternals/bb963905

这种技术的唯一收获是您需要能够在不查看 VM 上的控制台的情况下启动测试,但听起来您已经解决了这个问题?

如果您需要远程启动测试的解决方案,我强烈建议您使用 Jenkins 或 Hudson 来启动测试/从 VM 收集结果。詹金斯在这方面改变了我的生活。

于 2011-09-15T07:45:50.223 回答
1

您可以考虑使用 TestComplete 的网络套件功能:http: //smartbear.com/support/viewarticle/16849/

它可以自行打开远程桌面连接,控制远程 PC 上的测试,并将日志拉回“主”项目。此功能旨在用于分布式测试,看起来正是您所需要的。

至于将 RDP 开放给无头虚拟机,这应该不是问题 - 由 Windows 来“思考”这个问题。您只需打开 RDP,即使远程 PC/VM 没有连接显示器,它也能正常工作。

我希望这会有所帮助,亚历克斯

于 2011-09-14T18:58:39.510 回答
0

断开查看器时,您始终可以使用 VNC 并选中“不执行任何操作”选项。这样你就可以欺骗窗口来生成图像。

于 2012-10-29T16:23:01.487 回答