【发布时间】:2018-03-28 12:24:08
【问题描述】:
第一次问关于 SO 的问题。请善待。我会很乐意接受问题反馈。
我有一个在我没有 root 访问权限的 openSUSE Linux 机器上运行的 Jenkins 实例。我已经为 Jenkins 配置了一个自定义工具安装,该安装从 https://ftp.mozilla.org/pub/firefox/releases/56.0.1/linux-x86_64/en-US/firefox-56.0.1.tar.bz2 拉入 Firefox 56.0.1
我有一个基于 Angular CLI 构建的 Angular 应用程序。这是我的 karma.conf.js 的相关部分:
browsers: ['FirefoxHeadless'],
singleRun: true,
customLaunchers: {
'FirefoxHeadless': {
base: 'Firefox',
flags: [
'-headless',
],
}
我的 Jenkins 有一项工作,它使用带有 -headless 标志的 Firefox 56.0.1 拉取 Angular 应用程序并运行 ng test。但是,它失败并显示以下反馈:
ERROR [launcher]: [39mCannot start Firefox
(process:3050): GLib-CRITICAL **: g_slice_set_config: assertion
'sys_page_size == 0' failed
Error: no display specified
对此错误的研究表明需要为 Selenium 运行 xvfb 并设置 DISPLAY 环境变量,以便 Firefox 可以连接到该显示器。由于这应该是无头的,我不认为应该需要 xvfb,因为运行无头不需要图形显示(我不想尝试在我没有 root 的机器上安装 xvfb进入)。添加DISPLAY 环境变量只会将错误更改为cannot open display: :10。
如何让我的 jenkins 实例在无头版本的 Firefox 中运行业力测试?
【问题讨论】:
-
您可能只需要安装一些额外的库,Firefox 正在链接到 See bug on Bugzilla
标签: firefox jenkins karma-runner opensuse headless-browser