如何在远程无头ESXi虚拟机上运行自动GUI测试?

时间:2011-09-14 16:19:37

标签: automated-tests vmware ui-automation testcomplete esxi

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

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

是否可以从无头虚拟机启动远程桌面到另一个虚拟机来伪造某人观看?

我还没想过任何其他更聪明的解决方案?

3 个答案:

答案 0 :(得分:6)

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

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

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

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

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

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

只有熟悉这种技术的是,您需要能够在不查看VM上的控制台的情况下启动测试,但听起来您已经处理过这个问题了吗?

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

答案 1 :(得分:1)

您可以考虑使用TestComplete的Network Suites功能: http://smartbear.com/support/viewarticle/16849/

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

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

我希望这有帮助, 亚历

答案 2 :(得分:0)

断开查看器时,您可以随时使用VNC并选中“不执行任何操作”选项。这样你就可以通过技巧来生成图像。