The exozet/behat-utils
provide some traits for easier testing of websites and web services using Behat and Mink.
$ composer require exozet/behat-utils
and add
use \Exozet\Behat\Utils\Base\JsonApiSteps;
to your context, like this:
class ServiceContext extends \Behat\MinkExtension\Context\MinkContext
{
use \Exozet\Behat\Utils\Base\JsonApiSteps;
}
That's it!
The JsonApiSteps
are helpful for testing JSON APIs.
The WebsiteInteractionSteps
simplify DOM-based interactions with websites.
The SpinnedMinkSteps
allow calling default MinkContext steps while allowing a specified timeout.
The ConditionSteps
offer steps that only continue the test execution under specific conditions, marking the tests as "Pending" otherwise.
The HelpUtils
offer helper functions that can be useful for defining own steps.
If you want to develop on those utils, please use chromedriver and run it like this:
$ chromedriver --whitelisted-ips='*'
Then use the embedded docker-compose.yml and run a php-cli like this:
$ docker-compose run --rm php-cli
www-data $ bash setup-dev.sh
www-data $ vendor/bin/behat -p local
www-data $ ./vendor/bin/phpunit --bootstrap vendor/autoload.php --testdox tests
The behat-utils is copyright by Exozet (http://exozet.com) and licensed under the terms of MIT License.