从伪控制台调用 UI

从伪控制台调用 UI

我们有一些 UI 测试用例,目前正在 Linux 机器上手动调用(启用了 Gnome)。我们登录到机器并运行以下命令:

java -jar test_case.jar

调用测试用例。这将打开浏览器并执行应用程序测试,然后写入日志并退出。

现在我计划在 Jenkins Pipeline Job 中自动执行此操作。但我不确定执行此操作的正确方法是什么,因为我相信 Jenkins Pipeline Job 在伪终端中执行,而我相信上述命令应该在 Gnome 控制台中执行。

有没有办法自动化这个场景?

答案1

Xvfb(X 虚拟帧缓冲区)可用于此目的。它允许您拥有仅存在于内存中的显示,以便可以在不实际使用 GUI 的情况下完成具有图形依赖性的测试/操作。

在 CentOS 上,您可以使用 yum 从核心 CentOS 存储库安装 Xvfb:

yum install xorg-x11-server-Xvfb

安装 Xvfb 后,请在命令前添加前缀以xvfb-run使用它:

xvfb-run java -jar test_case.jar

xvfb-run是一个包装命令,可以执行一些有用的操作。首先,它初始化 Xvfb 显示并将其传递给您的命令以供执行。命令运行完成后,显示器也会正常关闭。

相关内容