diff --git a/docs/03_mink_integration.md b/docs/03_mink_integration.md index ead43c5..45474de 100644 --- a/docs/03_mink_integration.md +++ b/docs/03_mink_integration.md @@ -27,7 +27,7 @@ default: ### Usage -This integration provides two services to use inside Symfony container: +This integration provides the following services to use inside Symfony container: * **`behat.mink`** (autowired by `\Behat\Mink\Mink`) - the Mink service @@ -35,3 +35,6 @@ This integration provides two services to use inside Symfony container: * **`behat.mink.parameters`** (autowired by `\FriendsOfBehat\SymfonyExtension\Mink\MinkParameters`) - an object containing the configuration parameters of `MinkExtension` (implementing `\ArrayAccess` so that it can be treated as an array) + + * **`behat.driver.service_container`** - service container used by the `symfony` Mink driver, useful for assertions based on + application state after a request has been handled diff --git a/src/Driver/Factory/SymfonyDriverFactory.php b/src/Driver/Factory/SymfonyDriverFactory.php index 8c8f37b..e7b0b18 100644 --- a/src/Driver/Factory/SymfonyDriverFactory.php +++ b/src/Driver/Factory/SymfonyDriverFactory.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace FriendsOfBehat\SymfonyExtension\Driver\Factory; +use Behat\Mink\Driver\BrowserKitDriver; use Behat\MinkExtension\ServiceContainer\Driver\DriverFactory; use FriendsOfBehat\SymfonyExtension\Driver\SymfonyDriver; use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition; @@ -40,6 +41,10 @@ final class SymfonyDriverFactory implements DriverFactory public function buildDriver(array $config): Definition { + if (!class_exists(BrowserKitDriver::class)) { + throw new \RuntimeException('Install "friends-of-behat/mink-browserkit-driver" (drop-in replacement for "behat/mink-browserkit-driver") in order to use the "symfony" driver.'); + } + return new Definition(SymfonyDriver::class, [ $this->kernel, '%mink.base_url%',