Angular 为什么角度应用程序的测试应该使用Chrome的--no沙盒选项

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'] } }, 及 但是为什么呢?为什么不启用沙箱?有什么好的理由这么做吗?测试是否需要正常运行?我不确定示例代码为什么会禁用沙箱,但为了它的价值,我们在测试套件中将其保持打开

有关的信息包括禁用Chrome浏览器沙盒的示例配置(Karma和Digrator):

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;