Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用量角器multiCapabilities配置运行e2e测试,但限制max Webdriver实例_Angularjs_Selenium Webdriver_Integration Testing_Protractor - Fatal编程技术网

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

Angularjs 使用量角器multiCapabilities配置运行e2e测试,但限制max Webdriver实例,angularjs,selenium-webdriver,integration-testing,protractor,Angularjs,Selenium Webdriver,Integration Testing,Protractor,上下文 我正在试用带有multiCapabilities配置选项的全新量角器0.19.0。它实际上按照文档中的描述工作: 它使在多个浏览器上运行测试变得更容易(不需要grunt,也不需要脚本,只需要一个配置文件) 它使测试并行运行 第二点对我来说是有问题的。我的一个应用程序无法处理数据的多个连接,这意味着测试失败 我的问题是: 是否可以限制Webdriver的最大实例数以禁用此应用程序的并行测试 我尝试过的 我发现有一个maxSession参数非常适合我的情况!但我试图将其添加到我的量角器配置中

上下文

我正在试用带有multiCapabilities配置选项的全新量角器0.19.0。它实际上按照文档中的描述工作:

  • 它使在多个浏览器上运行测试变得更容易(不需要grunt,也不需要脚本,只需要一个配置文件)
  • 它使测试并行运行
  • 第二点对我来说是有问题的。我的一个应用程序无法处理数据的多个连接,这意味着测试失败

    我的问题是:

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

    我尝试过的

    我发现有一个
    maxSession
    参数非常适合我的情况!但我试图将其添加到我的量角器配置中,但没有成功

    maxSession
    也在中。有人知道它是否起作用了吗

    这是到的链接,我在那里留下了评论

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

    提前谢谢

    编辑:专用


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

    我认为您可以通过在命令行中启动seleniumArgs节点并给出以下命令来设置:

    MaxInstances
    这表示……同一版本的浏览器可以在远程系统上运行多少个实例

    MaxSession
    这表示在远程系统中一次可以并行运行多少浏览器(任何浏览器和任何版本)。因此,这将覆盖“最大实例数”设置,并可以限制可并行运行的浏览器实例数

    因此,您将按如下方式运行节点:

    java -jar selenium-server-standalone-2.14.0.jar -role node  -hub http://******:4444/grid/register -maxSession 5 
    
    在0.24.0中实施并发布(请参阅)

    您需要在量角器配置文件中添加一个值>=1的
    maxSessions
    选项(否则为1)

    dragrator.config.js示例:


    在我的案例中已按预期进行了测试和工作。

    您是否以这种方式启动selenium服务器?因为现在我使用的是Drugator提供的
    webdriver manager start
    ,它不接受这个参数,我也使用webdriver manager-start启动它,因为我还没有使用网格,但我在其他项目中也是这样启动的,它可以工作,只需将selenium JAR文件放在您的路径中,或者从selenium JAR folderFor中启动命令使用
    grunt量角器webdriver
    :默认情况下,这种方法不起作用,因为
    keepAlive
    默认为
    false
    。显式地将其设置为
    true
    就可以了。@loki2302感谢您提供的信息;)
    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'
    };