【问题标题】:Is there anything like xvfb or xnest for Windows? [closed]有没有像 Windows 的 xvfb 或 xnest 之类的东西? [关闭]
【发布时间】:2010-10-30 22:54:06
【问题描述】:

在具有驱动 GUI 的端到端测试的项目中,在开发人员工作站上运行测试很尴尬,因为 GUI 自动化驱动程序会干扰桌面。它会移动鼠标,将注意力从我们想要使用的应用程序上转移开,并且如果我们在测试运行期间切换到另一个应用程序,它可能会开始在错误的应用程序中输入文本。

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

Windows 有什么等效的吗?

【问题讨论】:

    标签: windows user-interface testing


    【解决方案1】:

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

    【讨论】:

    • 不幸的是,我认为这行不通。我想要的是从 IDE(在我的主桌面上运行)生成一个进程,并让该进程的窗口出现在屏幕外桌面上。这不是“桌面”的工作方式。
    • 我遇到了同样的问题,这个解决方案对我有用。您可以直接从“隐藏”桌面生成您的进程并让它在那里工作并切换回您的主桌面,感谢 Yauheni Sivukha 提供此解决方案
    • 这真的解决了最初的问题,其中一个问题是自动化驱动程序移动鼠标?然后在不同的桌面上必须有单独的鼠标指针/输入。
    • 这对视觉需求很有好处。但它没有单独的音源,所有的声音都组合在一起同时播放!
    【解决方案2】:

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

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

    【讨论】:

    • 有人幸运地使用了这个吗?
    • 我正在尝试为同一问题找到解决方案。其他人试过吗?
    • 在屏幕外操作时键盘和鼠标问题如何@Nat?
    • Window licker 的链接已损坏
    【解决方案3】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 2011-11-28
    • 1970-01-01
    • 2011-01-01
    相关资源
    最近更新 更多