Jar*_*urg 2 headless docker protractor
我正在尝试无头运行我的测试,并将我的两个测试套件分片以并行运行它们。在我的本地计算机上,它们并行运行,但在这种无头设置中,它们一个接一个地运行。我正在使用 Docker 映像作为 Web 驱动程序和量角器。
我正在使用 webnicer-protractor Docker 映像:https://hub.docker.com/r/webnicer/protractor-headless/ 并使用 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']
}
Run Code Online (Sandbox Code Playgroud)
由于 Chrome >= 57、Chromedriver >= 2.29 以及一些基本配置,现在可以在真正的 Google Chrome 浏览器上进行Protractor无头测试:
capabilities: {
browserName: 'chrome',
chromeOptions: {
args: ['headless', 'window-size=1920,1080']
}
}
Run Code Online (Sandbox Code Playgroud)
另一个很酷的事情是窗口大小不限于当前显示。它确实是无头的,这意味着它可以根据测试需要而变得尽可能大。
某些网络驱动程序功能在那里无法使用。例如:
browser.manage().window().setPosition();
browser.manage().window().setSize();
browser.manage().window().maximize();
Run Code Online (Sandbox Code Playgroud)
您必须识别并删除不支持的功能,除了 Google Chrome 无头功能对我来说效果很好之外。
值得注意的是,例如sendKeys
可能会触发此错误:
失败:未知错误:键码转换需要 X 显示,请考虑使用 Xvfb
如果没有实际显示或没有 Xvfb,直到在 Chrome 端修复此问题。ChromeDriver 2.31X display required
修复了该错误。
归档时间: |
|
查看次数: |
4113 次 |
最近记录: |