NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #2295 most downloaded on Packagist
A set of Codeception modules to test WordPress projects.
Last release 24 days ago
26 Aug 2026
Ships fairly regularly
a new release about every 6 weeks
Most releases are documented
notes for 40 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
422 releases · first in 2014
suites configuration parameter handling in the lucatume\WPBrowser\Extension\Events extension.
lucatume\WPBrowser\Extension\Events extension.support for the contentFolder parameter in the WPLoader configuration. This is the equivalent of setting the WP_CONTENT_DIR constant in a custom confi
contentFolder parameter in the WPLoader configuration. This is the equivalent of setting the
WP_CONTENT_DIR constant in a custom configuration file, fixed #342tad\WPBrowser\Filesystem\Utils class in favour of filesystem functionsOne column per quarter.
an issue where tables created by plugins during the WordPress installation managed by the WPLoader module would be dropped; default behaviour changed
WPLoader module would be
dropped; default behaviour changed to emptying the tables, fixes #356compatibility with Codeception 4.0
lucatume\WPBrowser\Extension\Events extension to enable subscribing to Codeception 4.0 eventsWPDb::haveUserInDatabase method would not create all the user meta #359add deprecated functions handling for functions moved in version 2.3
2.3rrmdir function as deprecatedtad\WPBrowser\vendorDir issue that would cause the function to return wrong value
tad\WPBrowser\vendorDir issue that would cause the function to return wrong valueabsolute paths handling in the configFile parameter of WPLoader configuration
configFile parameter of WPLoader configurationabsolute paths handling in the pluginsFolder parameter of WPLoader configuration
pluginsFolder parameter of WPLoader configurationthe originalUrl to the WPDb module configuration; this can help in some instances where urlReplacement is active but is not working correctly.
originalUrl to the WPDb module configuration; this can help in some instances where urlReplacement is active
but is not working correctly.lucatume\WPBrowser\Traits\WithWordPressFilters trait to provide methods, for test cases, to debug WordPress
actions and filter initial and final values.lucatume\WPBrowser\Traits\WithWordPressFilters trait in the WPLoader module to debug WordPress actions and
filter initial and final values.WPDb module dump importsCopier extensionissue in the WithEvents trait that would cause issues in the console command
WithEvents trait that would cause issues in the console commandissue with WPDb and WPLoader module in loadOnly mode that would cause WPLoader to load WordPress before the correct database setup
WPDb and WPLoader module in loadOnly mode that would cause WPLoader to load WordPress before the
correct database setupissue with setup default values where the default environment file name would be empty or the file would be missing
cache flushing issue in WPTestCase (thanks @mitogh)
WPTestCase (thanks @mitogh)WPDb::haveUserCapabilitiesInDatabase to make sure entries are not duplicated when called on same user [#335]
WPDb::haveUserCapabilitiesInDatabase to make sure entries are not duplicated when called on same user [#335]WPDb::haveUserInDatabase and WPDb::haveUserCapabilitiesInDatabase methods to support more complex user role
assignment [#336]WPRestControllerTestCase issue (thanks @TimothyBJacobs)
WPRestControllerTestCase issue (thanks @TimothyBJacobs)WPDb::haveUserInDatabase issue where the sanitization would be stricter than the WordPress one on user login [#332]documentation generation issue [#323]
WPWebDriver configuration and example configuration sectionssetUp, tearDown and setUpBeforeClass issues with test cases [#325]dontSeeInShellOutput, seeInShellOutput, seeResultCodeIs, seeResultCodeIsNot and seeShellOutputMatches methods to WPCLI module (thanks @TimothyBJacobs)
dontSeeInShellOutput, seeInShellOutput, seeResultCodeIs, seeResultCodeIsNot and seeShellOutputMatches
methods to WPCLI module (thanks @TimothyBJacobs)bwpbrowser template class to make sure the environment file name is respected when set to different values
wpbrowser template class to make sure the environment file name is respected when set to different valueswpbrowser template textWPCLI module when exit code is 0 and there are both stdout and stderr outputs, fixes #316WPCLI module: do not mark command as failed, thus do not throw, if exit code is 0, fixes #312
WPCLI module: do not mark command as failed, thus do not throw, if exit code is 0, fixes #312command line parsing issue in the WPCLI module, fixes #310
WPCLI module, fixes #310double class definition issues dealing with Codeception and PHPUnit versions
smaller refactoring to avoid introducing STATIC_ANALYSIS environment var in code (thanks @szepeviktor)
STATIC_ANALYSIS environment var in code (thanks @szepeviktor)2.5 and 3.0 support in composer.json file erroneously removed in 2.2.24a number of refactorings and fixings following addition of phpstan, fixes #291 (thanks @szepeviktor)
phpstan, fixes #291 (thanks @szepeviktor)smaller adjustment to slug function and number handling
slug function and number handlingsupport for environment variables to the WPCLI module, fixes #299 (thanks @TimothyBJacobs)
WPCLI module, fixes #299 (thanks @TimothyBJacobs)the tad\WPBrowser\slug function to create the slug version of a string
tad\WPBrowser\slug function to create the slug version of a stringtad\WPBrowser\buildCommandLine function to generate a Symfony Process compatible command line (array format)
from a string onetad\WPBrowser\renderString function to render a string in the Handlebars format from dataWPCLI::cliToString method to get a wp-cli command output as string, fixes #297 (thanks @TimothyBJacobs)bacon/bacon-string-utils dependencyWPCLI module, see documentation, fixes #295 (thanks @TimothyBJacobs)xamin/handlebars.php dependency with the zordius/lightncandy oneWPCLI module, fixes #294 (thanks @TimothyBJacobs)WPCLI module, fixes #296 (thanks @TimothyBJacobs)ignore foreign key checks when dropping tables in isolated install (thanks @TimothyBJacobs)
enhancements to the build scripts (thanks @karser)
WPLoader module bootstrapWPLoader module: load WordPress on SUITE_INIT when only loading
WPLoader module: load WordPress on SUITE_INIT when only loading (#283)eager instantiation of WordPress factories causing warnings
expose a lucatume\WPBrowser\Module\WPLoader\FactoryStore instance on the $tester property when loading the WPLoader module with loadOnly: false.
lucatume\WPBrowser\Module\WPLoader\FactoryStore instance on the $tester property when loading the
WPLoader module with loadOnly: false.$tester property when scaffolding the WPTestCase class (thanks @Luc45)call Codeception\Test\Unit setup methods in WPTestCase to provide Codeception Unit testing facilities in " WordPress unit" test cases
Codeception\Test\Unit setup methods in WPTestCase to provide Codeception Unit testing facilities in "
WordPress unit" test casesremove left-over %WP_URL% from generated configuration files when running codecept init wpbrowser and replace it with %TEST_SITE_WP_URL% (thanks @Hend
%WP_URL% from generated configuration files when running codecept init wpbrowser and replace it
with %TEST_SITE_WP_URL% (thanks @HendrikRoehm)when the WPLoader module is set to loadOnly mode and used in conjunction with a *Db module delay its load after all other modules ran their _beforeSui
WPLoader module is set to loadOnly mode and used in conjunction with a *Db module delay its load after
all other modules ran their _beforeSuite action; this tackles an issue only partially resolved in 2.2.8 (thanks
@Luc45)make sure Cron is disabled while WPLoader module is installing WordPress in isolation (default mode)
WPLoader module is installing WordPress in isolation (default mode)support for timeout parameter in WPCLI module configuration
timeout parameter in WPCLI module configurationwhen in debug mode the WPLoader module will now display a report about the bootstrapped WordPress installation
WPLoader module will now display a report about the bootstrapped WordPress installationCodeception\Test\Unit class as parent of the \lucatume\WPBrowser\TestCase\WPTestCase; it was
erroneously removed from the inheritance tree in 2.2.7catch unlink errors in the Symlinker extension (thanks @halmos)
Symlinker extension (thanks @halmos)WPTestCase template generation to scaffold PHPUnit 8.0+ compatible code (thanks @halmos)updated requirement of codeception/codeception to include version 3.0
codeception/codeception to include version 3.0WPTestCase to handle PHPUnit version 8.0+ compatibilitylucatume/wp-browser-commons packageloadOnly is true to avoid WordPress
exiting due to a non-initialized database fixturereplaced wp-cli/wp-cli:1.1.* dependency with the wp-cli/wp-cli-bundle:^2.0 one
wp-cli/wp-cli:1.1.* dependency with the wp-cli/wp-cli-bundle:^2.0 oneinformative debug to try and provide guidance and information when the WPLoader and WPDb modules are used together and WordPress dies suddenly.
WPLoader and WPDb modules are used together
and WordPress dies suddenly.WPDb::dontSeePostWithTermInDatabase method (#230, thanks @jcabot)WPDb::seePostWithTermInDatabase method logic (#230, thanks @jcabot)allow opening PHP tags in the code arguments of the WPFilesystem::havePlugin, WPFilesystem::haveMuPlugin and WPFilesystem::haveTheme methods.
WPFilesystem::havePlugin, WPFilesystem::haveMuPlugin and
WPFilesystem::haveTheme methods.a mu-plugins path issue in the WPFilesystem module.
WPFilesystem module.first version of the documentation
getQueries and countQueries to the WPQueries modulean issue in src/includes/utils.php (thanks @lots0logs)
src/includes/utils.php (thanks @lots0logs)WPDb URL replacement functionality that would prevent it from working with the dump format of some
applicationsupdated vlucas/phpdotenv library dependency to ^3.0 (thanks @Naktibalda)
vlucas/phpdotenv library dependency to ^3.0 (thanks @Naktibalda)wpcept and wpcept.bat deprecated binaries
haveOrUpdateInDatabase method from WPDb moduleExtendedDb classlucatume/wp-snaphot-assertions package\tad\WPBrowser\Snapshot\WPHtmlOutputDriver classwpcept binarieslucatume/wp-snapshot-assertions dependencytad\WPBrowser\Snapshot\WPHtmlOutputDriver proxy class and the lucatume/wp-snapshot-assertions dependencywpcept and wpcept.bat deprecated binariesCodeception\Command\DbSnapshot commandtad\Codeception\Command\SearchReplace command from the templatelucatume/codeception-setup-local dependencyWPBootstrapper moduleWPSugarMethods trait2.5.0 updating the WPDb classinit wpbrowser commandtad\WPBrowser\Tests\Support\importDump function that would prevent the function from working if the
database host specified a port.gitattributes file to stop littering people's vendor library (sorry, my bad)wpRootFolder parameterWPCLI and WordPress modules will now set the WPBROWSER_HOST_REQUEST=1 environment variable; this can be used
to discern requests coming not only from wp-cli, using the WP_CLI constant, but from a wp-cli instance used and
managed by the WPCLI module.set an upper version bound for Codeception of 2.4.5 to avoid incompatibility issues between WPDb and Db modules
2.4.5 to avoid incompatibility issues between WPDb and Db modulesadd the waitlock parameter to the WPDb template configuration
waitlock parameter to the WPDb template configurationwaitlock parameter is set in WPDb module configurationthe comment_count of posts to which comments were added using WPDb::haveCommentInDatabase (thanks @ptrkcsk)
comment_count of posts to which comments were added using WPDb::haveCommentInDatabase (thanks @ptrkcsk)WPDb::countRowsInDatabase methodcheck for an existing .env file when initializing and ask for the .env file name in the init command
.env file when initializing and ask for the .env file name in the init commandthe WPDb::grabUsersTableName method to the WPdb module
WPDb::grabUsersTableName method to the WPdb moduleWPDb::dontHaveUserInDatabaseWithEmail method to the WPDb modulemake the codecept init wpbrowser command scaffold the codeception.dist.yml file
codecept init wpbrowser command scaffold the codeception.dist.yml filesupport for installation filters, via the $wp_tests_options['installation_filters'] global, in the WPLoader module
$wp_tests_options['installation_filters'] global, in the WPLoader modulerestore the loading of utility files in WPLoader module bootstrap file
WPLoader module bootstrap filereference to the WPHtmlOutputDriver class from the wp-snapshot-assertions package
WPHtmlOutputDriver class from the wp-snapshot-assertions packagemoved the snapshot assertions related code from this package to the lucatume/wp-snapshot-assertions one
lucatume/wp-snapshot-assertions onetad\WPBrowser\Snapshot\WPHtmlOutputDriver is now just an extension of the tad\WP\Snapshots\WPHtmlOutputDriver
class from the lucatume/wp-snapshot-assertions package.restore loading of the utils file in the WPLoader module, was erroneously removed in v2.0
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →