lucatume / wp-browser

The easy and reliable way to test WordPress with Codeception. 10 years of proven success.
https://wpbrowser.wptestkit.dev/
MIT License
593 stars 86 forks source link
codeception-module php tdd testing wordpress

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 wit 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

Requirements

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

Site

Plugin

Theme

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

Add wp-browser to your project as a development dependency using Composer

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:

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

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.

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.

Getting support for wp-browser configuration and usage

The best place to get support for wp-browser is the project documentation.
Since this project builds on top of PHPUnit and Codeception, 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 taking care to provide as much information as possible.

Finally, you can contact me directly to set up a call to discuss your project needs and how wp-browser can help you.

Sponsors

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