我正在尝试使用TestComplete在ESXi虚拟机中设置自动化图形用户界面测试。据我所知,问题是当没有建立到ESXi虚拟机的远程桌面连接时,TestComplete就不可能执行屏幕捕获,从而自动化图形用户界面测试。据我所知,这是因为Windows不会在没有人查看的情况下生成任何用户界面。
我相信其他人也经历过这个问题。你是怎么解决这个问题的?您是否使用在运行测试之前自动启动远程桌面连接的第三方计算机?
有没有可能从一台无头虚拟机启动一个远程桌面到另一台虚拟机,以假装有人在看?
还有什么我没有想过的更聪明的解决方案吗?
发布于 2011-09-15 15:45:50
您应该能够使用vSphere客户端登录到虚拟机控制台上的Window,然后关闭vSphere,Window仍然会认为用户正在查看控制台。就这么简单。:)
因此,应该没有必要在混合中涉及远程桌面。
只要您的测试随后以该登录Windows用户的身份运行,您就应该没问题。
对于某些依赖于交互式桌面的Watir、Selenium和MS UI Automation测试,这种技术一直对我很有吸引力。
如果您需要在测试前/测试过程中自动重启虚拟机,而不是手动登录vSphere客户端,您可以让Windows以任意用户的身份自动登录-选中"control userpasswords2“命令,或者您可以使用Sysinternals应用程序"Autologin":
http://technet.microsoft.com/en-us/sysinternals/bb963905
这种技术唯一需要注意的是,您需要能够在不查看VM上的控制台的情况下启动测试,但听起来您似乎已经做到了这一点?
如果您需要远程启动测试的解决方案,我强烈建议您使用Jenkins或Hudson来启动测试/从VM收集结果。Jenkins在这方面改变了我的生活。
发布于 2011-09-15 02:58:40
您可以考虑使用TestComplete的网络套件功能:http://smartbear.com/support/viewarticle/16849/
它可以自己打开远程桌面连接,控制远程PC上的测试,并将日志拉回到“主”项目。此功能旨在用于分布式测试,看起来就是您所需要的。
至于将RDP开放给无头虚拟机,这应该不是问题--这取决于Windows对此的“思考”。您只需打开RDP,即使远程PC/VM上没有连接显示器,RDP也能正常工作。
我希望这能帮到你,亚历克斯
发布于 2012-10-30 00:23:01
您可以随时使用VNC,并在断开查看器连接时选中“不执行任何操作”选项。这样,您将欺骗窗口来生成图像。
https://stackoverflow.com/questions/7419614
复制相似问题