PHPackages                             shvetsgroup/parallelrunner - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. shvetsgroup/parallelrunner

ActiveLibrary[Testing &amp; Quality](/categories/testing)

shvetsgroup/parallelrunner
==========================

Parallel runner extension for Behat

v3.0.0(7y ago)74143.5k↓13%28[9 issues](https://github.com/shvetsgroup/ParallelRunner/issues)MITPHPPHP &gt;=5.3.6

Since Apr 30Pushed 7y ago6 watchersCompare

[ Source](https://github.com/shvetsgroup/ParallelRunner)[ Packagist](https://packagist.org/packages/shvetsgroup/parallelrunner)[ Docs](http://github.com/shvetsgroup/)[ RSS](/packages/shvetsgroup-parallelrunner/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (2)Versions (3)Used By (0)

Behat Parallel Runner
=====================

[](#behat-parallel-runner)

Installation
------------

[](#installation)

This extension requires:

- Behat 2.4+

### Through Composer

[](#through-composer)

1. Set dependencies in your **composer.json**:

```
{
    "require": {
        ...
        "shvetsgroup/parallelrunner": "dev-master"
    }
}
```

2. Install/update your vendors:

```
$ curl http://getcomposer.org/installer | php
$ php composer.phar install
```

Configuration
-------------

[](#configuration)

As a bare minimum requirement, activate extension in your **behat.yml**:

```
default:
  extensions:
    shvetsgroup\ParallelRunner\Extension: ~
```

### Separate environments for test processes

[](#separate-environments-for-test-processes)

In certain cases, it's useful to run testing processes in separate environments (e.g. if test results of one test could break other test's data). For this purpose, you should define behat profiles in your configuration file and pass their names to "profile" parameter of the extension like this:

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

environment1:
  some_data: ...

environment2:
  some_data: ...
```

Now, let's say you've run the test with 4 parallel processes. The first process will be launched with "environment1" profile, second with "environment2", and the rest with the default profile (or profile, which was passed in --config option).

### Running tests in parallel by default

[](#running-tests-in-parallel-by-default)

If you want all of your tests to run in parallel, just specify default number of parallel processes in your configuration file. Note: this number can be overridden by --parallel option.

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

Usage
-----

[](#usage)

Use "--parallel" or "-l" parameter to specify number of concurrent test processes. For example:

```
$ bin/behat -l 4
```

Troubleshooting
---------------

[](#troubleshooting)

1. If you're using Selenium, make sure it's launched in Hub mode to get all the benefits of parallelism ([http://docs.seleniumhq.org/docs/07\_selenium\_grid.jsp](http://docs.seleniumhq.org/docs/07_selenium_grid.jsp)).
2. This extension does not work with features which have closures as definitions (you'll get "Serialization of 'Closure' is not allowed" errors most likely).

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity46

Moderate usage in the ecosystem

Community21

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 66.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1512 days

Total

2

Last Release

2889d ago

Major Versions

v1.0 → v3.0.02018-06-20

### Community

Maintainers

![](https://www.gravatar.com/avatar/cb126ebe93858d837c12375507c75b671f6ca65667a0a471ce382c455f9c9a91?d=identicon)[neochief](/maintainers/neochief)

---

Top Contributors

[![neochief](https://avatars.githubusercontent.com/u/121889?v=4)](https://github.com/neochief "neochief (20 commits)")[![anton-siardziuk](https://avatars.githubusercontent.com/u/301661?v=4)](https://github.com/anton-siardziuk "anton-siardziuk (4 commits)")[![m0ppers](https://avatars.githubusercontent.com/u/819421?v=4)](https://github.com/m0ppers "m0ppers (2 commits)")[![ClementGautier](https://avatars.githubusercontent.com/u/660091?v=4)](https://github.com/ClementGautier "ClementGautier (1 commits)")[![marekkalnik](https://avatars.githubusercontent.com/u/548629?v=4)](https://github.com/marekkalnik "marekkalnik (1 commits)")[![ciarand](https://avatars.githubusercontent.com/u/2149341?v=4)](https://github.com/ciarand "ciarand (1 commits)")[![zeyus](https://avatars.githubusercontent.com/u/75656?v=4)](https://github.com/zeyus "zeyus (1 commits)")

---

Tags

BDDparallelBehatrunner

### Embed Badge

![Health badge](/badges/shvetsgroup-parallelrunner/health.svg)

```
[![Health](https://phpackages.com/badges/shvetsgroup-parallelrunner/health.svg)](https://phpackages.com/packages/shvetsgroup-parallelrunner)
```

###  Alternatives

[sensiolabs/behat-page-object-extension

Page object extension for Behat

1166.5M27](/packages/sensiolabs-behat-page-object-extension)[laracasts/behat-laravel-extension

Laravel extension for Behat

2611.3M12](/packages/laracasts-behat-laravel-extension)[dvdoug/behat-code-coverage

Generate Code Coverage reports for Behat tests

593.6M37](/packages/dvdoug-behat-code-coverage)[tonicforhealth/behat-parallel-scenario

Behat parallel scenario

24354.7k](/packages/tonicforhealth-behat-parallel-scenario)[bex/behat-extension-driver-locator

Driver locator tool for behat extensions

385.2M4](/packages/bex-behat-extension-driver-locator)[ciaranmcnulty/behat-stepthroughextension

Extension for behat to help debug failing scenarios

601.6M5](/packages/ciaranmcnulty-behat-stepthroughextension)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
