Docker 无头量角器不分片试验

Docker 无头量角器不分片试验,docker,protractor,headless,Docker,Protractor,Headless,我正在尝试无头运行我的测试,并将两个测试套件切分,以并行运行它们。在我的本地机器上,它们并行运行,但在这种无头设置中,它们一个接一个地运行。我使用Docker图像作为web驱动程序和量角器 我正在使用webnicer量角器Docker图像: 我使用elgalu/selenium作为web驱动程序 我运行的conf.js文件如下所示: exports.config = { //Headless //seleniumAddress: 'http://localhost:4444/wd/hub

我正在尝试无头运行我的测试,并将两个测试套件切分,以并行运行它们。在我的本地机器上,它们并行运行,但在这种无头设置中,它们一个接一个地运行。我使用Docker图像作为web驱动程序和量角器

我正在使用webnicer量角器Docker图像: 我使用elgalu/selenium作为web驱动程序

我运行的conf.js文件如下所示:

exports.config = {
  //Headless
  //seleniumAddress: 'http://localhost:4444/wd/hub',
  seleniumAddress: 'http://localhost:24444/wd/hub',
  capabilities: {
    browserName: 'chrome',
    shardTestFiles: true,
    maxInstances: 2
  },
  specs: ['Suites/AccountSettingsSuite.js', 'Suites/CloneDashboardSuite.js']
}
由于Chrome>=57,Chromedriver>=2.29以及一些基本配置,现在可以在真正的Google Chrome浏览器上进行无头测试:

capabilities: {
    browserName: 'chrome',
    chromeOptions: {
        args: ['headless', 'window-size=1920,1080']
    }
}
另一件很酷的事情是,窗口大小不限于当前显示。它确实是无头的,这意味着它可以根据测试的需要而变大

有些webdriver功能在那里不起作用。例如:

browser.manage().window().setPosition();
browser.manage().window().setSize();
browser.manage().window().maximize();
你必须识别并删除不受支持的功能,除了谷歌Chrome headless对我来说非常有用

需要注意的是,例如
sendKeys
可能会触发此错误:

失败:未知错误:键代码转换需要X显示,考虑使用XVFB


如果没有真正的显示器或Chrome侧没有Xvfb。ChromeDriver修复了所需的
X显示
错误。

这有什么进展吗?我也有同样的问题