小编sch*_*ave的帖子

使用Debian的Jenkins CI上使用ChromeHeadless的Karma

我们正在测试环境中将PhantomJS从PhantomJS转移到ChromeHeadless,使用Karma和Jasmine作为我们的前端Node.js应用程序.在本地,只需要更换场地

浏览器:['PhantomJS'],

浏览器:['ChromeHeadless'],

并在package.json中添加条目:

"karma-chrome-launcher":"xyz",

然后npm构建将采用本地安装的chrome浏览器实例来运行Jasmine测试.这工作正常.

在我们的jenkins构建服务器(在Debian Jessie上运行)上,没有安装chrome,因此无法执行测试.

现在的问题是:

  • 是否有我可以安装的chromeNPM包,所以我不必直接在debian机器上安装它?(类似于phantomjs-prebuilt,它在运行实际测试用例之前安装当前的PhantomJS实例)

更新:是的,有NPM包木偶操纵者,请参阅:https: //github.com/GoogleChrome/puppeteer.这将根据当前的构建计算机获取chrome版本.因此必须添加一个新条目package.json文件(或通过npm install puppeteer -D安装):

"puppeteer":"xyz",

和karma.conf:

process.env.CHROME_BIN = require('puppeteer').executablePath();

browsers: ['HeadlessChrome'],
        customLaunchers: {
            HeadlessChrome: {
                base: 'ChromeHeadless',
                flags: ['--no-sandbox']
            }
        },
Run Code Online (Sandbox Code Playgroud)

请注意,使用Debian时,有时必须安装缺少的依赖项.请参阅:https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md

node.js npm phantomjs karma-jasmine puppeteer

9
推荐指数
1
解决办法
2886
查看次数

标签 统计

karma-jasmine ×1

node.js ×1

npm ×1

phantomjs ×1

puppeteer ×1