gpt4 book ai didi

firefox - 在 headless Firefox 浏览器中运行 karma 测试在 Jenkins 上不起作用

转载 作者:行者123 更新时间:2023-12-02 16:27:08 29 4
gpt4 key购买 nike

第一次问这样的问题。请善待。我会慷慨地接受问题反馈。

我有一个 Jenkins 实例在 openSUSE Linux 机器上运行,但我没有 root 访问权限。我已经使用自定义工具安装配置了 Jenkins,该安装从 https://ftp.mozilla.org/pub/firefox/releases/56.0.1/linux-x86_64/en-US/firefox- 引入 Firefox 56.0.1 56.0.1.tar.bz2

我有一个基于 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 可以连接到该显示器。因为这应该是 headless 的,所以我不认为应该需要 xvfb,因为运行 headless 应该不需要图形显示(我不想尝试在没有 root 的机器上安装 xvfb 的工作)进入)。添加 DISPLAY 环境变量只会将错误更改为 cannot open display: :10

如何让我的 jenkins 实例在 headless 版本的 Firefox 中运行 karma 测试?

最佳答案

在搜索为什么 Firefox 作为浏览器可以在 Windows 上运行但不能在我的非 GUI Linux 构建服务器上运行时,我遇到了您的答案。看到您将自定义浏览器启动配置命名为 FirefoxHeadless 让我想起我以前听说过这样的预设:Firefox launcher for Karma支持一些即用型启动配置这将使用正确的启动选项启动 Firefox:

Firefox
FirefoxHeadless
FirefoxDeveloper
FirefoxDeveloperHeadless
FirefoxAurora
FirefoxAuroraHeadless
FirefoxNightly
FirefoxNightlyHeadless

该软件包可通过 NPM 获取。使用此功能可能会为您和其他人省去额外启动配置的麻烦。

关于firefox - 在 headless Firefox 浏览器中运行 karma 测试在 Jenkins 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46779498/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com