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 1 months 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
support for --type option in wpcept bootstrap interactive mode
--type option in wpcept bootstrap interactive modeWPLoader module activationfirst version of interactive mode to the bootstrap command
bootstrap commandbootstrap:pyramid commandtheme configuration parameter in the WPLoader module configurationWPBrowser module, thanks IppeyOne column per quarter.
WPCLI module to use and access wp-cli functionalities from within tests
.travis.yml to
use external Apache setuup scriptWordPress module not dumping page source on failure (thanks @kbmt)
WordPress module not dumping page source on failure (thanks @kbmt)WordPres module (thanks @kbmt)missing back-compatibility configuration call in WPBrowser and WPWebDriver modules
WPBrowser and WPWebDriver modulesthe bootstrapActions parameter of the WPLoader module will now accept static method signatures
bootstrapActions parameter of the WPLoader module will now accept static method signaturesWordPress module to be used for real functional testsrootFolder parameter in the Symlinker extensionWPBrowser and WPWebDriver modules has been renamed to
adminPath, was previously adminUrlWPRequests module to use the WordPress functional module in its placethe WPLoader module will now run the installation process in a separate process by default (thanks @jbrinley)
WPLoader module will now run the installation process in a separate process by default (thanks @jbrinley)support for the urlReplacement configuration parameter in WPDb module to prevent attempts at hard-coded URL replacement in dump file
urlReplacement configuration parameter in WPDb module to prevent attempts at hard-coded URL
replacement in dump filethe WPDb module will try to replace the existing dump file hard-coded url with the one specified in the configuration during initialization
WPDb module will try to replace the existing dump file hard-coded url with the one specified in the
configuration during initializationrenamed the wpunit suite to integration to stick with proper TDD terms (thanks @davert)
wpunit suite to integration to stick with proper TDD terms (thanks @davert)wpcept bootstrap and bootstrap:pyramid commands to scaffold suites closer in modules to TDD practicesWPBrowser and WPWebDriver loginAs and loginAsAdmin methods will now return an array of access credentials and
cookies to be used in requestsWPTestCase now extends Codeception\Test\Unit class
WPTestCase now extends Codeception\Test\Unit classSymlinker extension event hooking
issue with Symlinker unlinking operation
updated code to follow codeception/codeception 2.2 update
codeception/codeception 2.2 update### Added - the WPQueries module
WPQueries modulelucatume/codeception-setup-local package requirement
lucatume/codeception-setup-local package requirementwpcept setup command shimming (from lucatume/codeception-setup-local package)wpcept setup:scaffold command shimming (from lucatume/codeception-setup-local package)wpcept search-replace command shimming (from lucatume/codeception-setup-local package)wpdcept db:snapshot commandlucatume/wp-browser-commons package requirementlucatume/wp-browser-commons packagewpdb reconnection procedure in WPBootstrapper module
wpdb reconnection procedure in WPBootstrapper moduleenvironments based support in lucatume\WPBrowser\Extension\Symlinker extension
lucatume\WPBrowser\Extension\Symlinker extensionthe lucatume\WPBrowser\Extension\Symlinker extension
lucatume\WPBrowser\Extension\Symlinker extensionWPBootstrapper modulewrongly merged code from development version (thanks @crebacz for the prompt message!)
WPDb module due to hasty use of array manipulation functionmissing blogs table initialization on multisite installation tests with WPLoader module
blogs table initialization on multisite installation tests with WPLoader modulefaulty active plugin option setting
fixed db driver initialization in WPDb::_cleanup method
WPDb::_cleanup methodplugin activation and deactivation related methods for WPBrowser and WPWebDriver modules (thanks @dimitrismitsis)
WPBootstrapper module wpdb connection and re-connection process
WPBootstrapper module wpdb connection and re-connection processWPBrowserMethods::amOnAdminPage method, applies to WPWebDriver and WPBrowser modules
WPBrowserMethods::amOnAdminPage method, applies to WPWebDriver and WPBrowser modulesWPBootstrapper::setPermalinkStructureAndFlush methodWPBootstrapper::loadWpComponent methodNothing published for this version
Nothing published for this version
the WPBrowser and WpWebDriver activatePlugin to use DOM in place of strings (l10n friendly)
WPBrowser and WpWebDriver activatePlugin to use DOM in place of strings (l10n friendly)WPBrowser and WpWebDriver deactivatePlugin to use DOM in place of strings (l10n friendly)wrong scaffolding structure when using the wpcept bootstrap:pyramid command
wpcept bootstrap:pyramid command###Added
wpunit test suite to the ones scaffolded by default when using the bootstrap:pyramid commandproper name of WPAjaxTestCase class
WPAjaxTestCase classupdate and checkExistence deprecated parameters from WPDb module
wpunit suite generation when using the wpcept:bootstrap command301 to 302 in temporary .htaccess file used by WPDb::haveMultisisiteInDatabase
methodupdate and checkExistence deprecated parameters from WPDb modulethe $sleep parameter to the WPDb::haveMultisiteInDatabase method
$sleep parameter to the WPDb::haveMultisiteInDatabase methodWPDb::$blogId reset in cleanup methodWPDb::useTheme methodWPDb::haveMenuInDatabase methodWPDb::haveMenuItemInDatabase methodWPDb::seeTermRelationshipInDat methodwrong table prefix in WPDb::grabPrefixedTableNameFor method for main blog when switching back to main blog.
WPDb::grabPrefixedTableNameFor method for main blog when switching back to main blog.WPDb::hitSite method as not used anymore in code base.the WPDb::haveMultisiteInDatabase method will now scaffold browser accessible multisite installations starting from a single site one
WPDb::haveMultisiteInDatabase method will now scaffold browser accessible multisite installations starting from
a single site one$autoload parameter to WPDb::haveOptionInDatabase methodwpRootFolder optional config parameter to the WPDb moduleadded a check in embedded bootstrap.php file of WPLoader module for defined multisite vars
bootstrap.php file of WPLoader module for defined multisite varsWPTestCase class now set the $backupGlobals to false by default
WPTestCase class now set the $backupGlobals to false by default$backupGlobals value setting from test templatememory limit constants (WP_MEMORY_LIMIT and WP_MAX_MEMORY_LIMIT) will now check for pre-existing definitions in WPLoader module bootstrap
WP_MEMORY_LIMIT and WP_MAX_MEMORY_LIMIT) will now check for pre-existing definitions in
WPLoader module bootstrapblogs related methods to the WPDb module
haveMany methods in WPDb module will now parse and
compile Handlebars PHP
templateshaveMultisite method to haveMultisiteInDatabase in WPDb modulehaveLinkWithTermInDatabase method from WPDb modulethe seeTableInDatabase method to WPDb module
seeTableInDatabase method to WPDb modulehaveMultisiteInDatabase method to WPDb modulegrabXTAbleName methods to WPDb modulehavePostmetaInDatabase method name to havePostMetaInDatabase in WPDb moduleissue with password validation in WPDb module
haveManyTermsInDatabase method to WPDb module
haveManyTermsInDatabase method to WPDb moduleseeTermTaxonomyInDatabase method to WPDb moduledontSeeTermTaxonomyInDatabase method to WPDb modulehaveTermMetaInDatabase method to WPDb modulegrabTermMetaTableName method to WPDb moduleseeTermMetaInDatabase method to WPDb moduledontHaveTermMetaInDatabase method to WPDb moduledontSeeTermMetaInDatabase method to WPDb modulehaveUserInDatabase WPDb module
methodhavePostMetaInDatabase will not add a row for each element in an array meta value but serialize ithaveManyUsersInDatabase method to WPDb module
haveManyUsersInDatabase method to WPDb modulecomments related methods in WPDb module
terms related methods to WPDb module
havePostInDatabase and haveManyPostsInDatabase WPDb methodsreworked term related methods in WPDb module
user and user meta related methods to the WPDb module
install.php fileseeInDatabase method syntaxnamespace of the WPRestApiTestCase class
WPRestApiTestCase classWPTestCase and WP_UnitTestCase classesdontHaveOptionInDatabase method from the WPDb module classWPDb moduleWPDb modulethe \lucatume\WPBrowser\TestCase\WPTestCase, an extension of the base Codeception test case and a copy of the core WP_UnitTestCase class
\lucatume\WPBrowser\TestCase\WPTestCase, an extension of the base Codeception test case and a copy of the core
WP_UnitTestCase class\lucatume\WPBrowser\TestCase\WPCanonicalTestCase, an extension of the base Codeception test case and a copy of
the core WP_Canonical_UnitTestCase class\lucatume\WPBrowser\TestCase\WPAjaxTestCase, an extension of the base Codeception test case and a copy of the
core WP_Ajax_UnitTestCase class\lucatume\WPBrowser\TestCase\WPRestApiTestCase, an extension of the base Codeception test case and a copy of the
core WP_Test_REST_TestCase class\lucatume\WPBrowser\TestCase\WPXMLRPCTestCase, an extension of the base Codeception test case and a copy of the
core WP_XMLRPC_UnitTestCase classwpcept generate:wpcanonical command to generate test cases extending the
\lucatume\WPBrowser\TestCase\WPCanonicalTestCase classwpcept generate:wpajax command to generate test cases extending the
\lucatume\WPBrowser\TestCase\WPAjaxTestCase classwpcept generate:wprest command to generate test cases extending the
\lucatume\WPBrowser\TestCase\WPRestApiTestCase classwpcept generate:wpxmlrpc command to generate test cases extending the
\lucatume\WPBrowser\TestCase\WPXMLRPCTestCase classwpcept generate:wpunit command will now generate test cases extending the
\lucatume\WPBrowser\TestCase\WPTestCase classgenerate:wp* commands will now properly generate the namespace string### Changed - code format
updated the test case class to latest from Core tests (thanks @zbtirell)
waitForJQueryAjax and grabFullUrl methods to the WPWebDriver modulemodified WPLoader module compatibility check to allow for *Db modules populate setting
populate settingconfig file search path in the WP Loader module
the config_file WP Loader module setting to configFile
config_file WP Loader module setting to configFilethe WP_UnitTestCase class bundled to extend Codeception\Testcase\Test class (thanks @borkweb)
WP_UnitTestCase class bundled to extend Codeception\Testcase\Test class (thanks @borkweb)call to deprecated set_current_user function replaced with call to wp_set_current_user
set_current_user function replaced with call to wp_set_current_usermissing codecept_relative_path function in autoload.php file (thanks @dbisso)
codecept_relative_path function in autoload.php file (thanks @dbisso)plugin activation now happens with the current user set to the Administrator
wp_install (thanks @barryhuges)the pluginsFolder setting to the WP Loader module
pluginsFolder setting to the WP Loader moduleWPLoader methods visibility to allow for extensionan exception when a plugin file part of WPLoader plugins setting is not found
plugins setting is not foundactivatePlugins setting in WPLoader configurationYour coding agent can read these notes before it upgrades. Set up the MCP server →