一尘不染

使用量角器multiCapabilities配置运行e2e测试,但限制最大Webdriver实例

angularjs

语境

我正在尝试使用multiCapabilities配置选项的全新Protractor 0.19.0。它实际上按照docs中所述进行工作:

  1. 它使在多个浏览器上运行测试变得更加容易(不需要grunt,也不需要脚本,只需要一个配置文件)。
  2. 它使测试并行运行

第二点对我来说是有问题的。我的一个应用程序无法处理与数据的多个连接,这意味着测试失败。

我的问题是:

是否可以限制Webdriver实例的最大数量以禁用此应用程序的并行测试?

我尝试过的

我在Selenium Webdriverjs Grid2
Wiki
中发现,有一个maxSession参数完全适合我的情况!但是我试图将其添加到我的量角器配置中,但没有成功。

maxSession也在所需功能中。有人知道它是否正在工作吗?

这是multiCapabilities
PR主题
的链接,我在那里留下了评论。

如果您需要更多信息,请随时询问:)

提前致谢!!

编辑: 专用的GitHub问题

EDIT2: 我最近尝试将其添加seleniumArgs: ['-maxSession=1']到我的量角器配置中,不幸的是,这也行不通…


阅读 213

收藏
2020-07-04

共1个答案

一尘不染


此commit中
实现,并在0.24.0中发布
(请参阅Protractor
changelog
)。

您需要maxSessions在量角器配置文件中添加一个选项,其值> = 1(否则将被
视为无限制
)。

protractor.config.js示例:

exports.config = {
  seleniumAddress: 'http://127.0.0.1:4444/wd/hub',

  specs: [
    '../e2e/**/*.js'
  ],

  multiCapabilities: [
    {'browserName': 'chrome'},
    {'browserName': 'firefox'},
    {'browserName': 'phantomjs'}
  ],

  maxSessions: 1,

  baseUrl: 'http://localhost:8000'
};

经过测试并按预期工作。

2020-07-04