All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Support PHP 8.4
- Drop support for PHP 8.1 and symfony/http-client 5.x
- Support
sebastian/diff4, 5, and 6 to allow use alongside PHPUnit 9 - 11.
- Support PHP 8.3
- Remove direct dependency on PHPUnit - instead uses
sebastian/diffdirect to produce pretty assertion failures from SimpleApiEmulatorContext. This allows the package to be installed alongside a wider range of PHPUnit versions in consuming projects.
- Support custom formats for a date placeholder e.g.
{{date:Y-m-(d+1) as D}}for tommorrow's short day of the week
- Advertise existing support for ingenerator/php-utils v2
- Add ApiEmulatorExtension to provide placeholders, assertions & state management with ingenerator/api_emulator.
- Require phpunit/phpunit as a core dependency, to simplify making assertions with formatted diffs within code shipped with this package.
- Configure .gitattributes to remove docs and development files from exported archives, to reduce production package size.
- Add ScenarioPlaceholderExtension to support placeholder values in feature files that are replaced at runtime.
- Drop support for PHP8.0
- Fix dynamic property creation warning
- Support PHP 8.1 and PHP 8.2
- Add a custom exception filter to the
Spin::fn()to simplify retrying certain types of exceptions but not others.
- Catch driver-level errors when attempting to capture failing page HTML / screenshots. If the listener throws an exception, it terminates the whole behat process. This can happen if the browser has crashed / lost connection, and prevents e.g. the progress formatter from rendering the list of failed steps. Instead, print the exception details to output and move on.
- Improve reliability of select2 filling wrapping it in a retry loop at 5ms intervals up to 10 times.
- Support PHP8
- Drop support for PHP7.2
- Switch to github actions instead of travis for testing
- Add
MinkBrowserChecker::requireChromeDriverand::requireGoutteDriverto enforce explicit driver types. - Remove unnecessary / incorrect
returnstatement from javascript commands
- FIX HashTableNode named constructor ::withRows()
- Add HashNodeTable to build TableNode's from arrays
- Improve Select2v4 compatibility with other webdrivers. Primarily to allow it to be used with chrome.
- Remove incorrect license from docblocks
- Add BrowserResizeExtension to resize browser window, defaults to 1024x768
- Explicitly start selenium to set the window size - fixes bug with latest mink which has
(in a minor version) changed the previous behavior that auto-started it on
->getSession()
- Ensure support for php7.2
- Drop support for php5
- Fix bug where SaveFailingPagesListener threw a fatal exception if asked to write a file with no content (e.g. because of a white-page-500 served by the app) masking the actual failure.
- Fix session-start detection for SaveFailingPages listener with a non-browserkit session : was incorrectly reporting session not started when it should be started.
- Add PrintDebugTrait as a little BC shorthand for printing stuff from behat contexts.
- Replace PhantomJSControllerContext with PhantomJSControllerExtension - does the same job, but as an extension.
- Add a set of useful extensions for bootstrapping, saving failing pages, providing kohana application dependencies into contexts that need them and co-ordinating and injecting test data factories and repositories (which need to be actually implemented separately in the project for now).
- Require Behat version 3
- Add an element wrapper for the v4.x version of select2/select2 - see Select2v4
- Update JSEventWaiter to support
windowanddocumentas element selectors - Add MinkResourceDownloader
- Add JSEventWaiter to watch for javascript events
- Add a PhantomJSControllerContext for automatically starting / stopping phantomjs when required
- Add Spin::fn for retrying assertions
- Add DateParam::parse for parsing relative date strings from features
- Project commenced