【问题标题】:Headless protractor not sharding tests无头量角器不分片测试
【发布时间】:2016-08-30 01:18:06
【问题描述】:

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

我正在使用 webnicer-protractor Docker 镜像:https://hub.docker.com/r/webnicer/protractor-headless/ 我正在使用 elgalu/selenium 作为网络驱动程序。

我运行的 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']
}

【问题讨论】:

  • 你在这方面有什么收获吗?我也有同样的问题

标签: docker protractor headless


【解决方案1】:

Protractor 现在可以在真正的 Google Chrome 浏览器上进行无头测试,因为 Chrome >= 57,Chromedriver >= 2.29 以及一些基本配置:

capabilities: {
    browserName: 'chrome',
    chromeOptions: {
        args: ['headless', 'window-size=1920,1080']
    }
}

另一个很酷的事情是窗口大小不限于当前显示。它是真正无头的,这意味着它可以根据测试的需要而变大。

某些 webdriver 功能在那里无法使用。例如:

browser.manage().window().setPosition();
browser.manage().window().setSize();
browser.manage().window().maximize();

您必须识别并删除不受支持的功能,除了 Google Chrome 无头浏览器对我来说非常有用。

请务必注意,例如sendKeys 可能会触发此错误:

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

如果没有真正的显示或者 Chrome 端没有 Xvfb until this was fixed。使用 ChromeDriver 2.31 修复了 X display required 错误。

【讨论】:

    猜你喜欢
    • 2017-10-24
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多