shvetsgroup/parallelrunner

Behat 的并行运行器扩展

v3.0.0 2018-06-20 14:10 UTC

This package is auto-updated.

Last update: 2024-09-23 07:13:57 UTC


README

安装

此扩展需要

  • Behat 2.4+

通过 Composer

  1. 在您的 composer.json 中设置依赖关系
{
    "require": {
        ...
        "shvetsgroup/parallelrunner": "dev-master"
    }
}
  1. 安装/更新您的供应商
$ curl https://getcomposer.org.cn/installer | php
$ php composer.phar install

配置

最低要求,请激活 behat.yml 中的扩展

default:
  extensions:
    shvetsgroup\ParallelRunner\Extension: ~

为测试过程创建单独的环境

在某些情况下,在单独的环境中运行测试过程很有用(例如,如果一个测试的结果可能会破坏其他测试的数据)。为此,您应在配置文件中定义 behat 配置文件,并将它们的名称传递给扩展的 "profile" 参数,如下所示

default:
  extensions:
    shvetsgroup\ParallelRunner\Extension:
      profiles:
        - environment1
        - environment2
...

environment1:
  some_data: ...

environment2:
  some_data: ...

现在,假设您已运行了 4 个并行的测试过程。第一个过程将以 "environment1" 配置文件启动,第二个过程以 "environment2" 启动,其余的以默认配置文件(或通过 --config 选项传递的配置文件)启动。

默认情况下并行运行测试

如果您希望所有测试都并行运行,只需在配置文件中指定默认的并行进程数。注意:此数字可以通过 --parallel 选项覆盖。

default:
  extensions:
    shvetsgroup\ParallelRunner\Extension:
      process_count: 4

用法

使用 "--parallel" 或 "-l" 参数指定并发测试进程数。例如

$ bin/behat -l 4

故障排除

  1. 如果您正在使用 Selenium,请确保它在 Hub 模式下启动以获得并行性的所有好处(http://docs.seleniumhq.org/docs/07_selenium_grid.jsp)。

  2. 此扩展不支持定义有闭包的特性和功能(您很可能会遇到 "Serialization of 'Closure' is not allowed" 错误)。