当前位置: 首页 > 面试题库 >

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

赵灼光
2023-03-14
问题内容

语境

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

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

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

我的问题是:

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

我尝试过的

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

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

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

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

提前致谢!!

编辑: 专用的GitHub问题

EDIT2: 我最近尝试将其添加seleniumArgs: ['-maxSession=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'
};

经过测试并按预期工作。



 类似资料:
  • 我试图运行一个简单的测试,但测试失败了,因为量角器试图与页面同步,但不能,因为它不在角度。有什么需要改变的想法吗? 配置文件: 得到以下消息:失败:等待量角器与页面同步时出错:“angularJS测试性和angular测试性都未定义。这可能是因为这是一个非angular页面,或者是因为您的测试涉及客户端导航,这可能会干扰量角器的引导。有关详细信息,请参阅http://git.io/v4gxm 如有

  • 我有一个带有输入框和用户界面选择下拉列表的表单,在ng-blur事件中,我调用了一个方法来自动选择所有三个用户界面选择中的选项。当我使用量角器e2e测试执行此操作时,它不会等待用户界面选择发生并提交表单,这会引发异常,因为它没有找到只有在提交包含所有必需字段的表单后才会出现的元素。我试过这样browser.wait 它正在抛出异常。

  • 直到几周前,我让我的量角器e2e测试与Chrome浏览器一起工作。然而,自从上次Chrome更新69.0.3497.100 (64位)以来,在非无头模式下运行测试不再工作,我得到了一个错误。如果我在无头模式下运行测试(通过量角器配置文件“--head less”中的),所有工作正常。 我在windows命令提示符中遇到的错误是: WebDriverError:未知错误:Chrome无法启动:崩溃(

  • 我已经编写了所有的e2e测试,它们在我的本地机器和代码上成功运行。我想把我们的CI从codeship移到Bitbucket管道。所以我用测试环境创建了自己的Docker映像。当我在本地工作区中运行docker conatiner时,测试工作正常,但当build在bitbucket管道中运行时,所有测试都因超时而失败,因为在页面上找不到angular。服务器肯定是在容器中启动和运行的ant测试也开始

  • 我是新的量角器,我正在执行一些e2e测试,我在最后一个问题,当我试图调用下拉列表并选择其中一个选项时。 这是我的代码: 我每次得到的是: 这个错误怎么可能? 提前感谢您的帮助。

  • 问题内容: 我似乎无法通过测试成功获得PhantomJS。我试图将其集成到我的项目中,但是在此之后失败了,我尝试仅运行基本的Angular Docs示例,但遇到了同样的问题。到目前为止,我的步骤: // … GhostDriver-Main-在端口9515上运行 这是与示例中相同的文件,仅具有browserName,并且seleniumAddress端口已更改: 我收到以下错误消息: 我在gith