首页 > 解决方案 > 无法通过 Jenkins 管道运行 Jasmine 测试

问题描述

我有 Jasmine 测试,旨在使用以下命令在 Chrome 上运行 -

karma start --specFileRegistry="DiagramComponent/test/DiagramComponent.specConfig.js" --outputFile="test-reports/test-case-report/NodeMappingCanvas.html"

当我从 Linux 机器上的终端运行时,这成功运行了测试,但是当通过 Jenkins 管道运行时会导致错误 -

ERROR [launcher]: Cannot start Chrome
     [exec]     Fontconfig warning: "/etc/fonts/fonts.conf", line 86: unknown element "blank"
     [exec] [115058:115058:0911/171053.130462:ERROR:browser_main_loop.cc(1512)] Unable to open X display.

请建议我如何摆脱这个。

标签: linuxgoogle-chromejenkinsjenkins-pipelinekarma-jasmine

解决方案


Karma 正在尝试打开 Chrome 窗口,由于它在没有窗口环境 (Jenkins) 的操作系统上运行,因此无法打开窗口。

您需要将 Karma 配置为使用不在窗口中运行的浏览器。它被称为无头浏览器。

如今,最受欢迎的选择是使用 Headless Chrome。 karma-chrome-launcher支持运行 Headless Chrome。

在您的 Karma 配置中browsers: ['Chrome']替换为应该就足够了。browsers: ['ChromeHeadless']


推荐阅读