linux - 无法通过 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.
请建议我如何摆脱这个。
解决方案
Karma 正在尝试打开 Chrome 窗口,由于它在没有窗口环境 (Jenkins) 的操作系统上运行,因此无法打开窗口。
您需要将 Karma 配置为使用不在窗口中运行的浏览器。它被称为无头浏览器。
如今,最受欢迎的选择是使用 Headless Chrome。 karma-chrome-launcher支持运行 Headless Chrome。
在您的 Karma 配置中browsers: ['Chrome']
替换为应该就足够了。browsers: ['ChromeHeadless']
推荐阅读
- python - 如何在嵌入的 IPython shell 中实现自定义语句/宏?
- c++ - 如何在堆中声明静态 std::vector
- reactjs - 如何在 ReactDOM.render 中设置变量?
- java - 如何映射列表
从 JSON 到 JPA - eclipse - Eclipse Content Assist/Template Proposal: Unable to change the background of the highlight line (selected by keyboard arrow, not mouse pointer)
- java - 如何为命名模块指定 java Manifest Add-Exports
- javafx - 是否可以在 javafx 中制作一定百分比的线性渐变?
- eclipse - Ecore EMF PackageNotFoundException
- reactjs - 将排序的 Antd 表列保存在本地存储中
- c# - 在键盘上的菜单中选择 wirh 箭头 (C#)