对于Windows,有什么像xvfb或xnest吗?

时间:2009-06-03 10:41:24

标签: windows user-interface testing

在具有驱动GUI的端到端测试的项目上,在开发人员工作站上运行测试很困难,因为GUI自动化驱动程序会干扰桌面。它移动鼠标,从我们想要使用的应用程序中窃取焦点,并且如果我们在测试运行期间切换到另一个应用程序,则可以开始在错误的应用程序中键入文本。

在Linux上,我们通过在虚拟X服务器(xvfb或xnest)上运行测试中的应用程序来解决这个问题。使用xnest,我们可以观看测试运行,但仍然可以使用真正的桌面而不受干扰。

Windows有什么相同的东西吗?

3 个答案:

答案 0 :(得分:7)

您可以使用SysInternals包中的“Desktops”应用程序。在一个桌面上运行UI测试,然后在另一个桌面上工作。

答案 1 :(得分:6)

我找到了一个名为“RunProcess.exe”的免费程序,由Frank P. Westlake编写,可以运行绑定到非交互式(例如屏幕外)WindowStation桌面的进程。但是,没有消息来源。

因此我用Java和JNA实现了我自己的版本(比Frank Westlake更简单)。它位于工具模块的Window Licker存储库中。该类称为com.objogate.wl.win32.RunOnDesktop。在某些时候,我可能将它移植到C并使其成为正常的命令行.exe,或者可能将其转换为Ant任务以在屏幕外运行测试。

答案 2 :(得分:0)

我刚试过Windows 10机器上的多桌面方法。我正在运行Selenium Javascript测试。我在另一台桌面上开始测试并等待它打开浏览器,然后切换回我的主桌面。但在Chrome浏览器成为活动窗口的同一点上,现在它实际上迫使我回到了桌面: - (

我想我会试试RunProcess.exe或Nat的解决方案。

相关问题