在具有驱动GUI的端到端测试的项目中,在开发人员工作站上运行测试是很笨拙的,因为GUI自动化驱动程序会干扰桌面。它移动鼠标,将焦点从我们想要使用的应用程序上移开,如果我们在测试运行期间切换到另一个应用程序,它可能会开始向错误的应用程序键入文本。
在Linux上,我们通过在虚拟X服务器(xvfb或xnest)上运行被测应用程序解决了这个问题。使用xnest,我们可以观察测试的运行,但仍然可以不受干扰地使用真正的桌面。
在Windows上有没有类似的东西?
发布于 2009-06-09 12:37:53
我发现了一个由Frank P.Westlake编写的名为"RunProcess.exe“的免费软件程序,它可以运行绑定到非交互式(例如屏幕外) WindowStation桌面上的进程。然而,没有消息来源。
因此,我使用Java和JNA实现了我自己的版本(比Frank Westlake的版本更简单)。它位于tools模块的Window Licker存储库中。这个类叫做com.objogate.wl.win32.RunOnDesktop
。在某些时候,我可能会将它移植到C中,并使其成为一个普通的命令行.exe,或者可能将其转换为一个用于在屏幕外运行测试的Ant任务。
发布于 2009-12-29 21:02:34
您可以使用SysInternals包中的Desktops应用程序。在一个桌面上运行UI测试,在另一个桌面上工作。
发布于 2017-02-14 01:57:33
我刚刚在我的Windows10机器上尝试了多个桌面的方法。我正在运行Selenium Javascript测试。我在另一个桌面上开始测试,等待它打开浏览器,然后切换回我的主桌面。但是在Chrome浏览器变成活动窗口的同时,现在它实际上迫使我回到那个桌面:-(
我想我会试试RunProcess.exe,或者Nat的解决方案。
https://stackoverflow.com/questions/944086
复制相似问题