Symfony Panther driver for Mink framework
composer require --dev robertfausk/mink-panther-driver
<?php
use Behat\Mink\Mink;
use Behat\Mink\Session;
use Behat\Mink\Driver\PantherDriver;
use Symfony\Component\Panther\PantherTestCase;
// These are the same options passed as in PantherTestCaseTrait::createPantherClient client constructor.
protected static $defaultOptions = [
'webServerDir' => __DIR__.'/../../../../public', // the Flex directory structure
'hostname' => '127.0.0.1',
'port' => 9080,
'router' => '',
'external_base_uri' => null,
'readinessPath' => '',
'browser' => PantherTestCase::CHROME,
];
$kernelOptions = []; # unused cause we do not extend class KernelTestCase
$managerOptions = [];
$mink = new Mink(array(
'panther' => new Session(new PantherDriver($defaultOptions, $kernelOptions, $managerOptions)),
));
$mink->getSession('panther')->getPage()->findLink('Chat')->click();
Please refer to MinkExtension-example for an executable example.
Since MinkPantherDriver is just glue between Mink and Symfony Panther, it already has an extensive documentation:
- For
Mink
, read Mink's documentation. - For
symfony/panther
, read Panther's documentation. - For usage with
Behat
, read Behat's documentation and give robertfausk/behat-panther-extension a try.
Have a look at CHANGELOG for detailed information.
Start docker-compose with php web driver by using one of the prepared docker setups with php7.2, php7.3, php7.4, php8.0, php8.1 or php8.2.
docker-compose up php8.2
Run phpunit tests
docker-compose exec php8.2 vendor/bin/phpunit
If you run into issues of type session not created: This version of ChromeDriver only supports Chrome version 79
then it is because of mismatched versions between installed chrome driver and chromium.
Best way to bypass this problem is to update them to their newest version.
docker-compose exec php8.2 vendor/bin/bdi detect drivers
Created by Robert Freigang robertfausk.
MinkPantherDriver is built on top of Panther and for usage with Behat and Mink. It has been inspired by MinkBrowserKitDriver and MinkSelenium2Driver.