【问题标题】:Fake X server for testing?用于测试的假 X 服务器?
【发布时间】:2012-12-28 14:25:51
【问题描述】:

在工作中,我们全面测试了 GUI 组件。问题出在这样一个事实,即在测试套件运行时,会弹出各种组件,从而窃取焦点或使其无法继续工作。我首先想到的是 Xnest,但我想知道是否有更优雅的解决方案来解决这个问题。

【问题讨论】:

    标签: unit-testing testing x11


    【解决方案1】:

    我认为您需要做的是让您的测试在与您正在使用的显示器不同的显示器上运行。

    当我们将 TeamCity 代理迁移到 EC2 时,我们必须想办法在无头 Linux 服务器上运行我们的 UI 单元测试。我在blog post 中找到了一种方法,它概述了如何使用 Xvfb。

    就我而言,我所要做的就是:

    • yum install xorg-x11-server-Xvfb
    • Xvfb :100 -ac 运行服务器。我将此添加到我的 EC2 代理上的 rc.local 文件中,以便在机器启动时启动它。
    • 然后我将env.DISPLAY :100 添加到我的 TeamCity 构建配置中

    【讨论】:

    • 我尝试了您的解决方案,但不幸的是我的测试因分段错误而崩溃。我使用了很多东西,特别是 Qt 和 OpenGL。您是否知道任何可以在标准 X 服务器上运行但在 Xvfb 上失败的东西?
    • @StefanoBorini 不幸的是没有。我的理解是它应该像一个“真正的”X 服务器一样工作,但当然,实现可能存在问题,就像任何事情一样。一个快速的谷歌确实发现了这个错误:bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/296230 请注意,解决方法是使用 -extension GLX 启动 Xvfb
    • 我明天试试。谢谢。你非常乐于助人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    • 2023-03-20
    • 2022-08-16
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多