我们正在测试环境中将PhantomJS从PhantomJS转移到ChromeHeadless,使用Karma和Jasmine作为我们的前端Node.js应用程序.在本地,只需要更换场地
浏览器:['PhantomJS'],
同
浏览器:['ChromeHeadless'],
并在package.json中添加条目:
"karma-chrome-launcher":"xyz",
然后npm构建将采用本地安装的chrome浏览器实例来运行Jasmine测试.这工作正常.
在我们的jenkins构建服务器(在Debian Jessie上运行)上,没有安装chrome,因此无法执行测试.
现在的问题是:
更新:是的,有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