robertfausk / mink-panther-driver
Mink框架的Symfony Panther驱动
v1.1.1
2024-04-18 10:43 UTC
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-09-18 11:30:50 UTC
README
Mink框架的Symfony Panther驱动
安装
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();
请参阅MinkExtension-example以获取可执行的示例。
文档
由于MinkPantherDriver是Mink和Symfony Panther之间的胶水,它已经有了广泛的文档
- 对于
Mink
,请阅读Mink的文档。 - 对于
symfony/panther
,请阅读Panther的文档。 - 对于与
Behat
一起使用,请阅读Behat的文档并尝试robertfausk/behat-panther-extension。
如何升级?
查看CHANGELOG以获取详细信息。
如何贡献?
使用php web驱动程序启动docker-compose,可以使用预配置的docker设置之一,包括php7.2、php7.3、php7.4、php8.0、php8.1或php8.2。
docker-compose up php8.2
运行phpunit测试
docker-compose exec php8.2 vendor/bin/phpunit
如果您遇到类型为session not created: This version of ChromeDriver only supports Chrome version 79
的问题,那么这是由于已安装的chrome驱动程序和chromium版本不匹配造成的。最佳方法是将它们更新到最新版本。
docker-compose exec php8.2 vendor/bin/bdi detect drivers
致谢
由Robert Freigang创建 robertfausk。
MinkPantherDriver建立在Panther之上,并用于与Behat和Mink一起使用。它受到了MinkBrowserKitDriver和MinkSelenium2Driver的启发。