我的堆栈如下:Angular 6,Karma,Puppeteer与ChromeHeadless。我正在尝试在VSTS Hosted Linux Preview上设置CI构建。但是,当我在构建机器上运行单元测试时,我收到以下错误。
无法启动ChromeHeadless /opt/vsts/work/1/s/node_modules/puppeteer/.local-chromium/linux-555668/chrome-linux/chrome:加载共享库时出错:libXss.so.1:无法打开共享对象文件:没有这样的文件或目录
如果我切换到Hosted VS2017版本,那么它可以正常工作。这可能是因为它预装了Chrome。我已经尝试将Chrome安装到Linux构建机器上,但仍然没有运气。不幸的是,对于这个特定的构建我需要使用Linux盒子,所以我不能切换到Windows Hosted VS2017盒子。
我的karma.conf.js文件如下所示:
// Karma configuration file, see link for more information
// https://karma-runner.github.io/0.13/config/configuration-file.html
process.env.CHROME_BIN = require('puppeteer').executablePath();
module.exports = function (config) {
config.set({
browsers: ['ChromeNoSandbox'],
customLaunchers: {
ChromeNoSandbox: {
base: 'ChromeHeadless',
flags: ['--no-sandbox', '--headless'],
},
},
singleRun: true,
});
};
谢谢,
答案 0 :(得分:1)
添加Shell脚本任务:
脚本:
sudo apt-get update
sudo apt-get -qq -y install libpangocairo-1.0-0 libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxi6 libxtst6 libnss3 libcups2 libxss1 libxrandr2 libgconf2-4 libasound2 libatk1.0-0 libgtk-3-0