Angular 为什么角度应用程序的测试应该使用Chrome的--no沙盒选项
有关的信息包括禁用Chrome浏览器沙盒的示例配置(Karma和Digrator):Angular 为什么角度应用程序的测试应该使用Chrome的--no沙盒选项,angular,google-chrome,protractor,karma-runner,Angular,Google Chrome,Protractor,Karma Runner,有关的信息包括禁用Chrome浏览器沙盒的示例配置(Karma和Digrator): browsers: ['Chrome'], customLaunchers: { ChromeHeadlessCI: { base: 'ChromeHeadless', flags: ['--no-sandbox'] } }, 及 但是为什么呢?为什么不启用沙箱?有什么好的理由这么做吗?测试是否需要正常运行?我不确定示例代码为什么会禁用沙箱,但为了它的价值,我们在测试套件中将其保持打开
browsers: ['Chrome'],
customLaunchers: {
ChromeHeadlessCI: {
base: 'ChromeHeadless',
flags: ['--no-sandbox']
}
},
及
但是为什么呢?为什么不启用沙箱?有什么好的理由这么做吗?测试是否需要正常运行?我不确定示例代码为什么会禁用沙箱,但为了它的价值,我们在测试套件中将其保持打开状态,一切正常。我们曾经像示例一样指定
--无沙盒,但将其作为解决方案删除,这使得孤立的chrome进程在测试完成后运行 这是使用容器进行测试的原因之一
由于安全原因,Google Chrome无法提供沙箱
沙箱在基于容器的环境中运行时。到
在基于容器的环境中使用Chrome,传递--no沙箱
标志到chrome可执行文件
const config = require('./protractor.conf').config;
config.capabilities = {
browserName: 'chrome',
chromeOptions: {
args: ['--headless', '--no-sandbox']
}
};
exports.config = config;