事实证明,Jenkins用户的帐户性质不允许其在Jenkins服务器内运行GUI测试。
Firefox是GUI应用程序,它需要连接到X服务器以发送命令来绘制窗口等。通常,Jenkins被设置为作为后台系统守护程序运行,该后台守护程序无法访问任何X服务器会话。
这是尝试使用shell命令/ usr / bin / firefox在Jenkins构建中启动firefox时出现以下错误的原因。
No protocol specified
XDG_RUNTIME_DIR not set in the environment
Error: cannot open display: :0
因此,一种可能的解决方案是使用 pkexec
命令以root特权触发测试(可能可以将Jenkins用户添加到sudo组中,以便它可以成功运行命令,但是出于安全考虑,不建议这样做,我尝试不起作用)。
要使用 pkexec 实现完全自动化, 还 需要其他一些设置,例如,禁用身份验证提示。准备好逐步解决方案后,我将提供更详细的答案。



