PHPackages                             sylius-labs/behat-chrome-extension - 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. sylius-labs/behat-chrome-extension

ActiveLibrary

sylius-labs/behat-chrome-extension
==================================

Behat extension for controlling Chrome without Selenium — fork maintained by SyliusLabs

v1.5.0(1mo ago)118.9k↑268.5%11MITPHPPHP &gt;=7.1CI passing

Since Jul 16Pushed 1mo agoCompare

[ Source](https://github.com/SyliusLabs/behat-chrome-extension)[ Packagist](https://packagist.org/packages/sylius-labs/behat-chrome-extension)[ Docs](https://github.com/SyliusLabs/behat-chrome-extension)[ RSS](/packages/sylius-labs-behat-chrome-extension/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (4)Versions (2)Used By (1)

BehatChromeExtension
====================

[](#behatchromeextension)

[![Tests](https://github.com/SyliusLabs/behat-chrome-extension/actions/workflows/ci.yml/badge.svg)](https://github.com/SyliusLabs/behat-chrome-extension/actions/workflows/ci.yml)[![Software License](https://camo.githubusercontent.com/f251623e510f5909f16ae3f4e6e548dac11340b9fde1a99be26b015b39272c00/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c6174)](LICENSE)

> **Note:** This is a fork maintained by [SyliusLabs](https://github.com/SyliusLabs). The original package is [`dmore/behat-chrome-extension`](https://gitlab.com/behat-chrome/behat-chrome-extension)([on Packagist](https://packagist.org/packages/dmore/behat-chrome-extension)).

Behat extension for controlling chrome without the overhead of selenium.

It communicates directly with chrome over HTTP and WebSockets, which allows it to work at least twice as fast as chrome with selenium.

For chrome 59+ it supports headless mode, eliminating the need to install a display server, and the overhead that comes with it.

This driver is tested and benchmarked against a behat suite of 1800 scenarios and 19000 steps. It can successfully run it in less than 18 minutes with chrome 60 headless.

The same suite running against chrome 58 with xvfb and selenium takes ~60 minutes.

Installation:
-------------

[](#installation)

```
composer require sylius-labs/behat-chrome-extension
```

Requirements:
-------------

[](#requirements)

- Google chrome or chromium running with remote debugging

Example:

```
google-chrome-stable --remote-debugging-address=0.0.0.0 --remote-debugging-port=9222
```

or headless (59+):

```
google-chrome-unstable --disable-gpu --headless --remote-debugging-address=0.0.0.0 --remote-debugging-port=9222
```

The official docker image includes chrome 60 running headless.

See  for a fully working example.

Usage:
------

[](#usage)

```
default:
    extensions:
        DMore\ChromeExtension\Behat\ServiceContainer\ChromeExtension: ~
        Behat\MinkExtension:
            browser_name: chrome
            base_url: http://localhost
            sessions:
                default:
                    chrome:
                        api_url: "http://localhost:9222"
```

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

[](#configuration)

The following optional configuration settings are available

### validate\_certificate

[](#validate_certificate)

Default: true

Set to false to ignore invalid ssl certificates.

### socket\_timeout

[](#socket_timeout)

Default: 10

Timeout in seconds before the HTTP or WebSocket connection to the chrome browser is considered dead.

### download\_behavior

[](#download_behavior)

Default: falls back to browser configuration

Set to 'allow' to allow downloads.

### dom\_wait\_timeout

[](#dom_wait_timeout)

Default: 3000

How many milliseconds we should wait for DOM to be ready after each action/transition

### download\_path

[](#download_path)

Default: /tmp

Set to a directory path where you would like files to be downloaded. Requires download\_behavior: allow

Example:

```
default:
    extensions:
        DMore\ChromeExtension\Behat\ServiceContainer\ChromeExtension: ~
        Behat\MinkExtension:
            browser_name: chrome
            base_url: http://localhost
            sessions:
                default:
                    chrome:
                        api_url: "http://localhost:9222"
                        download_behavior: allow
                        download_path: /download
                        validate_certificate: false
```

Contributing
------------

[](#contributing)

You are encouraged to fork this repository and contribute your own improvements.

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance90

Actively maintained with recent releases

Popularity32

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity28

Early-stage or recently created project

 Bus Factor1

Top contributor holds 60% 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

Unknown

Total

1

Last Release

46d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/719423?v=4)[Sylius eCommerce](/maintainers/sylius)[@Sylius](https://github.com/Sylius)

![](https://www.gravatar.com/avatar/4b4a5a1a9293502aa8573551fab020963a9050c5cca4524433b6d94214d3b480?d=identicon)[GSadee](/maintainers/GSadee)

---

Top Contributors

[![xurizaemon](https://avatars.githubusercontent.com/u/105608?v=4)](https://github.com/xurizaemon "xurizaemon (24 commits)")[![GSadee](https://avatars.githubusercontent.com/u/6140884?v=4)](https://github.com/GSadee "GSadee (10 commits)")[![mhotchen](https://avatars.githubusercontent.com/u/1458882?v=4)](https://github.com/mhotchen "mhotchen (2 commits)")[![mpdude](https://avatars.githubusercontent.com/u/1202333?v=4)](https://github.com/mpdude "mpdude (2 commits)")[![asarturas](https://avatars.githubusercontent.com/u/915284?v=4)](https://github.com/asarturas "asarturas (1 commits)")[![stof](https://avatars.githubusercontent.com/u/439401?v=4)](https://github.com/stof "stof (1 commits)")

---

Tags

driverheadlesschromeBehat

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/sylius-labs-behat-chrome-extension/health.svg)

```
[![Health](https://phpackages.com/badges/sylius-labs-behat-chrome-extension/health.svg)](https://phpackages.com/packages/sylius-labs-behat-chrome-extension)
```

###  Alternatives

[drupal/drupal-extension

Drupal extension for Behat

22216.0M182](/packages/drupal-drupal-extension)[dmore/behat-chrome-extension

Behat extension for controlling Chrome without Selenium

3314.2M464](/packages/dmore-behat-chrome-extension)[spatie/browsershot

Convert a webpage to an image or pdf using headless Chrome

5.2k40.3M193](/packages/spatie-browsershot)[drevops/behat-screenshot

Behat extension and step definitions to create HTML and image screenshots on demand or when tests fail

231.9M37](/packages/drevops-behat-screenshot)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

769306.5k56](/packages/civicrm-civicrm-core)[chrome-php/chrome

Instrument headless chrome/chromium instances from PHP

2.7k5.7M106](/packages/chrome-php-chrome)

PHPackages © 2026

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