问题:无法在docker protractor 中使用无头chrome中的browser.driver.manage()。deleteAllCookies()删除httpOnly:true,secure:true cookie。

可以在我的本地设置中执行相同的操作:Windows> protractor > chrome

安装程序: protractor 5.3.2,chromedriver版本:'2.37.544315,chrome'version'=> '66 .0.3359.117',platform = Linux 3.10.0-862.3.2.el7.x86_64 x86_64)。 Docker镜像:node:9-stretch。

Docker文件选项:

args "-v /tmp:/tmp --privileged  --net=host --shm-size=2gb"

Chrome选项:
 args: ['no-sandbox','headless','disable-gpu','window-size=1366,768'],

代码示例:
    browser.manage().getCookies().then(function (cookies) {
        console.dir(cookies);
            browser.driver.manage().deleteAllCookies();
            browser.sleep(5000).then(function (completed) {
                browser.manage().getCookies().then(function (cookies) {
                    console.dir(cookies);
                           });
    });
});

最佳答案

添加到capabilities文件中的protractor.conf中。它将强制在单独的节点js线程中运行每个测试。

  capabilities: {
    shardTestFiles: true,
    maxInstances: 1
  }

08-06 03:19