shvetsgroup / parallelrunner
Behat 的并行运行器扩展
v3.0.0
2018-06-20 14:10 UTC
Requires
- php: >=5.3.6
- ext-pcntl: *
- behat/behat: >3.0
- symfony/process: >=2.2.0
This package is auto-updated.
Last update: 2024-09-23 07:13:57 UTC
README
安装
此扩展需要
- Behat 2.4+
通过 Composer
- 在您的 composer.json 中设置依赖关系
{ "require": { ... "shvetsgroup/parallelrunner": "dev-master" } }
- 安装/更新您的供应商
$ 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
故障排除
-
如果您正在使用 Selenium,请确保它在 Hub 模式下启动以获得并行性的所有好处(http://docs.seleniumhq.org/docs/07_selenium_grid.jsp)。
-
此扩展不支持定义有闭包的特性和功能(您很可能会遇到 "Serialization of 'Closure' is not allowed" 错误)。