PHPackages                             lucatume/wp-browser - 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. lucatume/wp-browser

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

lucatume/wp-browser
===================

A set of Codeception modules to test WordPress projects.

4.5.15(3mo ago)6394.0M—8.2%8520MITPHPPHP ^8.0CI passing

Since Jul 14Pushed 1mo ago16 watchersCompare

[ Source](https://github.com/lucatume/wp-browser)[ Packagist](https://packagist.org/packages/lucatume/wp-browser)[ Docs](https://github.com/lucatume/wp-browser)[ GitHub Sponsors](https://github.com/lucatume)[ RSS](/packages/lucatume-wp-browser/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (10)Dependencies (23)Versions (420)Used By (20)

wp-browser
==========

[](#wp-browser)

You can use wp-browser to test WordPress sites, plugins and themes.

An easy and quick setup, with a default configuration that will work for most projects, run end-to-end tests, integration tests and unit tests all with the same tool.

> This document refers to version `4` of the project. If you're using version `3` or version `3.5`, and are looking for the migration and troubleshooting guide, you can find it [here](https://wpbrowser.wptestkit.dev/migration)

Requirements
------------

[](#requirements)

Depending on the nature of your project, there are different requirements it will need to satisfy before getting started.

### Site

[](#site)

- Ensure you're running the `vendor/bin/codecept init wpbrowser` command from the root directory of your WordPress site.
- Ensure the directory contains the WordPress installation files. In a standard scenario you should have extracted WordPress files in this directory.
- Ensure your installation is configured: it should contain a `wp-config.php` file.

### Plugin

[](#plugin)

- Ensure you're running the `vendor/bin/codecept init wpbrowser` command from the root directory of your plugin; this should be the directory that contains the PHP file defining the [plugin header](https://wpbrowser.wptestkit.dev/migration).

### Theme

[](#theme)

- Ensure you're running the `vendor/bin/codecept init wpbrowser` command from the root directory of your theme; this should be the directory that contains the `style.css` file defining \[the theme header\]\[7\].

If you decide to use the quick installation, then your PHP version should have the `sqlite3` extensions installed and activated. You can check this using the `php -m` command and verifying the `sqlite3` extension is among the active extensions.

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

[](#installation)

Add wp-browser to your project as a development dependency using [Composer](https://getcomposer.org/)

```
cd my-wordrpess-project
composer require --dev lucatume/wp-browser
```

Initialize wp-browser to quickly configured to suite your project and setup:

```
vendor/bin/codecept init wpbrowser
```

The command will set up your project to run integration and end-to-end tests using:

- SQLite as the database engine, leveraging the [SQLite Database Integration plugin](https://wordpress.org/plugins/sqlite-database-integration/)
- PHP built-in web server to serve the WordPress site on localhost (e.g. `http://localhost:8080`)
- Chromedriver to drive the local version of Chrome installed on your machine

If you're working on a plugin or theme project, the default configuration will add some extra steps:

- install the latest version of WordPress in the `tests/_wordpress` directory
- create a `tests/_plugins` directory: any file or directory in this directory will be symlinked into the WordPress installation in `tests/_wordpress/wp-content/plugins`
- create a `tests/_themes` directory: any file or directory in this directory will be symlinked into the WordPress installation in `tests/_wordpress/wp-content/themes`

For most projects this configuration will be enough to get started with testing.

You can run your tests immediately using the `vendor/bin/codecept run` command.

[Read more about the commands provided by the library here.](https://wpbrowser.wptestkit.dev/commands/)

### Using a custom configuration

[](#using-a-custom-configuration)

If you decide to skip the default configuration, you will be able to set up `wp-browser` to suit your needs and local setup by editing the `tests/.env` file. The inline documentation in the file will guide you through the configuration process.

[Read more about using a custom configuration here.](https://wpbrowser.wptestkit.dev/commands/)

Getting support for wp-browser configuration and usage
------------------------------------------------------

[](#getting-support-for-wp-browser-configuration-and-usage)

The best place to get support for wp-browser is [the project documentation](https://wpbrowser.wptestkit.dev).
Since this project builds on top of [PHPUnit](https://phpunit.de/) and [Codeception](https://codeception.com/), you can also refer to their documentation.

If you can't find the answer to your question here you can ask on the ["Issues" section of the wp-browser repository](https://github.com/lucatume/wp-browser/issues/new/choose) taking care to provide as much information as possible.

Finally, you can [contact me directly](mailto:luca@theaveragedev.com) to set up a call to discuss your project needs and how wp-browser can help you.

Sponsors
--------

[](#sponsors)

A thanks to my sponsors: you make maintaining this project easier.

###  Health Score

75

—

ExcellentBetter than 100% of packages

Maintenance87

Actively maintained with recent releases

Popularity65

Solid adoption and visibility

Community49

Growing community involvement

Maturity88

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 96.4% 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 ~10 days

Recently: every ~1 days

Total

416

Last Release

106d ago

Major Versions

3.7.13 → 4.5.52025-08-15

3.7.14 → 4.5.72025-09-09

3.7.15 → 4.5.82025-11-04

3.7.16 → 4.5.112026-01-20

3.7.18 → 4.5.142026-02-19

PHP version history (6 changes)1.1.0PHP &gt;=5.3.0

1.6.8PHP &gt;=5.4.0

2.0.0PHP ^7.0

2.2.0PHP &gt;=5.6.0

4.0.0PHP ^8.0

3.5.0PHP &gt;=7.1 &lt;8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/60442557?v=4)[Abul Tarannum](/maintainers/theAverageDev)[@theaveragedev](https://github.com/theaveragedev)

---

Top Contributors

[![lucatume](https://avatars.githubusercontent.com/u/2749650?v=4)](https://github.com/lucatume "lucatume (4053 commits)")[![Luc45](https://avatars.githubusercontent.com/u/9341686?v=4)](https://github.com/Luc45 "Luc45 (28 commits)")[![szepeviktor](https://avatars.githubusercontent.com/u/952007?v=4)](https://github.com/szepeviktor "szepeviktor (20 commits)")[![BrianHenryIE](https://avatars.githubusercontent.com/u/4720401?v=4)](https://github.com/BrianHenryIE "BrianHenryIE (15 commits)")[![kagg-design](https://avatars.githubusercontent.com/u/28291450?v=4)](https://github.com/kagg-design "kagg-design (9 commits)")[![calvinalkan](https://avatars.githubusercontent.com/u/76868662?v=4)](https://github.com/calvinalkan "calvinalkan (8 commits)")[![TimothyBJacobs](https://avatars.githubusercontent.com/u/3460448?v=4)](https://github.com/TimothyBJacobs "TimothyBJacobs (7 commits)")[![johnbillion](https://avatars.githubusercontent.com/u/208434?v=4)](https://github.com/johnbillion "johnbillion (7 commits)")[![mitogh](https://avatars.githubusercontent.com/u/3921289?v=4)](https://github.com/mitogh "mitogh (5 commits)")[![andronocean](https://avatars.githubusercontent.com/u/26490481?v=4)](https://github.com/andronocean "andronocean (5 commits)")[![dennis-ca](https://avatars.githubusercontent.com/u/2080764?v=4)](https://github.com/dennis-ca "dennis-ca (4 commits)")[![tangrufus](https://avatars.githubusercontent.com/u/2259834?v=4)](https://github.com/tangrufus "tangrufus (4 commits)")[![sc0ttkclark](https://avatars.githubusercontent.com/u/709662?v=4)](https://github.com/sc0ttkclark "sc0ttkclark (3 commits)")[![kmbt](https://avatars.githubusercontent.com/u/2975117?v=4)](https://github.com/kmbt "kmbt (3 commits)")[![staabm](https://avatars.githubusercontent.com/u/120441?v=4)](https://github.com/staabm "staabm (3 commits)")[![barryhughes](https://avatars.githubusercontent.com/u/3594411?v=4)](https://github.com/barryhughes "barryhughes (3 commits)")[![iateadonut](https://avatars.githubusercontent.com/u/1443928?v=4)](https://github.com/iateadonut "iateadonut (3 commits)")[![joppuyo](https://avatars.githubusercontent.com/u/1595438?v=4)](https://github.com/joppuyo "joppuyo (2 commits)")[![borkweb](https://avatars.githubusercontent.com/u/430385?v=4)](https://github.com/borkweb "borkweb (2 commits)")[![cliffordp](https://avatars.githubusercontent.com/u/1812179?v=4)](https://github.com/cliffordp "cliffordp (2 commits)")

---

Tags

codeception-modulephptddtestingwordpresswordpresscodeception

###  Code Quality

Static AnalysisPHPStan, Rector

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/lucatume-wp-browser/health.svg)

```
[![Health](https://phpackages.com/badges/lucatume-wp-browser/health.svg)](https://phpackages.com/packages/lucatume-wp-browser)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.7k532.1M19.2k](/packages/laravel-framework)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k41.3M38.3k](/packages/orchestra-testbench)[tempest/framework

The PHP framework that gets out of your way.

2.2k31.1k11](/packages/tempest-framework)[infection/infection

Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.

2.2k27.9M2.2k](/packages/infection-infection)[magento/magento2-functional-testing-framework

Magento2 Functional Testing Framework

15311.8M36](/packages/magento-magento2-functional-testing-framework)[drupal/core

Drupal is an open source content management platform powering millions of websites and applications.

21764.8M1.6k](/packages/drupal-core)

PHPackages © 2026

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