如何控制 Docker 中 GUI 应用程序的精确外观

如何控制 Docker 中 GUI 应用程序的精确外观

我在用着西库利为了在网络服务器中运行自动化测试。

它将浏览器呈现的屏幕与预先捕获的屏幕截图进行比较,并模拟点击和用户输入。

我遇到的问题是,简单的系统更新就可以改变字体的外观。

解决方案,我尝试过在 Docker 容器中运行它,这是一个更受控制的环境。

我有两个环境:

  1. 使用 Xvfb(X Window 虚拟帧缓冲区)来运行无人值守测试
  2. 使用 Sikuli GUI 编写新测试或修改现有测试。

对于情况 1),我没有遇到具有统一和可重复的外观的问题。

为了运行编辑器,我设法通过将 Docker 容器与主机 X-windows 服务器连接来运行它。

问题是字体和外观发生变化。

我该如何处理情况2)?

一些想法:

  • 在我的 Docker 镜像中安装 VNC 服务器或类似的东西。我认为 GUI 会更慢、更笨拙。 相关信息

答案1

通过嵌入 novnc,在我的 docker 镜像中实现了 VNC 服务器,并且 GUI 应用程序的渲染是可预测的。

相关内容