Docker 无头量角器不分片试验
我正在尝试无头运行我的测试,并将两个测试套件切分,以并行运行它们。在我的本地机器上,它们并行运行,但在这种无头设置中,它们一个接一个地运行。我使用Docker图像作为web驱动程序和量角器 我正在使用webnicer量角器Docker图像: 我使用elgalu/selenium作为web驱动程序 我运行的conf.js文件如下所示: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
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显示
错误。这有什么进展吗?我也有同样的问题