robertfausk / mink-panther-driver
Symfony Panther driver for Mink framework
Installs: 2 001 476
Dependents: 1
Suggesters: 0
Security: 0
Stars: 10
Watchers: 2
Forks: 8
Open Issues: 8
Type:mink-driver
Requires
- php: >=7.2
- ext-dom: *
- behat/mink: ~1.8
- symfony/panther: ~0.7|~1.0|~2.0
Requires (Dev)
- dbrekelmans/bdi: ^1.0
- mink/driver-testsuite: dev-master
- phpunit/phpunit: ~8.5|~9.3
- symfony/dom-crawler: ~4.0|~5.0|~6.0
- symfony/http-kernel: ~4.0|~5.0|~6.0
Suggests
- ext-gd: *
This package is auto-updated.
Last update: 2024-11-18 11:54:47 UTC
README
Symfony Panther driver for Mink framework
Install
composer require --dev robertfausk/mink-panther-driver
Usage Example
<?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.
Documentation
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.
How to upgrade?
Have a look at CHANGELOG for detailed information.
How to contribute?
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
Credits
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.