PHPackages                             sylius-labs/behat-panther-extension - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. sylius-labs/behat-panther-extension

ActiveBehat-extension[Testing &amp; Quality](/categories/testing)

sylius-labs/behat-panther-extension
===================================

Symfony Panther extension for Behat — fork maintained by SyliusLabs

v1.3.0(1mo ago)019.2k↑88.2%MITPHPPHP ^8.2CI passing

Since Jul 16Pushed 1mo agoCompare

[ Source](https://github.com/SyliusLabs/behat-panther-extension)[ Packagist](https://packagist.org/packages/sylius-labs/behat-panther-extension)[ RSS](/packages/sylius-labs-behat-panther-extension/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (7)Versions (2)Used By (0)

BehatPantherExtension
=====================

[](#behatpantherextension)

[![Latest Stable Version](https://camo.githubusercontent.com/ce97878bb39eabc8514bfe65a99ef77c2e7e92de9353d8f3e89786e54de42357/68747470733a2f2f706f7365722e707567782e6f72672f73796c6975732d6c6162732f62656861742d70616e746865722d657874656e73696f6e2f762f737461626c652e737667)](https://packagist.org/packages/sylius-labs/behat-panther-extension)[![Latest Unstable Version](https://camo.githubusercontent.com/bb80a78fc04139c775a12f23d74958b987a21b3262a97ad1adec8f86b9d1b0ea/68747470733a2f2f706f7365722e707567782e6f72672f73796c6975732d6c6162732f62656861742d70616e746865722d657874656e73696f6e2f762f756e737461626c652e737667)](https://packagist.org/packages/sylius-labs/behat-panther-extension)[![Total Downloads](https://camo.githubusercontent.com/91fa3670bd0724eb60d1c3659d9ddfc6dc556ff8d4c7e16d8f8237a4f5d0ee9c/68747470733a2f2f706f7365722e707567782e6f72672f73796c6975732d6c6162732f62656861742d70616e746865722d657874656e73696f6e2f646f776e6c6f6164732e737667)](https://packagist.org/packages/sylius-labs/behat-panther-extension)[![Monhtly Downloads](https://camo.githubusercontent.com/b3ea13a495ac45874a69ae016f9771326a91d8b3aa1d83a1df51ef22ae84a770/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f73796c6975732d6c6162732f62656861742d70616e746865722d657874656e73696f6e3f7374796c653d666c617426636f6c6f723d626c7565)](https://img.shields.io/packagist/dm/sylius-labs/behat-panther-extension)[![Daily Downloads](https://camo.githubusercontent.com/4d10d219cafd9997554d78858fb60b74d5ebfebd578f5d5e7732b3672c5eeb05/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64642f73796c6975732d6c6162732f62656861742d70616e746865722d657874656e73696f6e3f7374796c653d666c617426636f6c6f723d626c7565)](https://img.shields.io/packagist/dm/sylius-labs/behat-panther-extension)[![Tests](https://github.com/SyliusLabs/behat-panther-extension/actions/workflows/ci.yml/badge.svg)](https://github.com/SyliusLabs/behat-panther-extension/actions/workflows/ci.yml)[![Software License](https://camo.githubusercontent.com/f251623e510f5909f16ae3f4e6e548dac11340b9fde1a99be26b015b39272c00/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c6174)](LICENSE)[![PHP Version Require](https://camo.githubusercontent.com/012a8cfdc7e90413fc5ab82eda04dd78c565dbec4dc3c49f461cb6b6353b2c19/687474703a2f2f706f7365722e707567782e6f72672f73796c6975732d6c6162732f62656861742d70616e746865722d657874656e73696f6e2f726571756972652f706870)](https://packagist.org/packages/sylius-labs/behat-panther-extension)[![Open Issues](https://camo.githubusercontent.com/0fe1e8c94727b59461777ea0d0fed422316217a4a85d6fdb864209eb99eb1333/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d7261772f53796c6975734c6162732f62656861742d70616e746865722d657874656e73696f6e3f7374796c653d666c6174)](https://github.com/SyliusLabs/behat-panther-extension/issues)[![Closed Issues](https://camo.githubusercontent.com/a7512191d6dc9be33aaba318c64bcfae8483c5df0de622f1e5a6da801873cc8c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d636c6f7365642d7261772f53796c6975734c6162732f62656861742d70616e746865722d657874656e73696f6e3f7374796c653d666c6174)](https://github.com/SyliusLabs/behat-panther-extension/issues?q=is%3Aissue+is%3Aclosed)[![Contributors](https://camo.githubusercontent.com/0c7a4476664237c79eda18df84b4d7aa8148f93e948dcbd66be99870f5be23a1/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f53796c6975734c6162732f62656861742d70616e746865722d657874656e73696f6e3f7374796c653d666c6174)](https://github.com/SyliusLabs/behat-panther-extension/graphs/contributors)[![Contributors](https://camo.githubusercontent.com/d0f14f23a778f21780565957d8df9d15d8150f642a5a899f1676657f23cfe36b/68747470733a2f2f696d672e736869656c64732e696f2f6d61696e74656e616e63652f7965732f323032373f7374796c653d666c6174)](https://camo.githubusercontent.com/d0f14f23a778f21780565957d8df9d15d8150f642a5a899f1676657f23cfe36b/68747470733a2f2f696d672e736869656c64732e696f2f6d61696e74656e616e63652f7965732f323032373f7374796c653d666c6174)[![Dependents](https://camo.githubusercontent.com/656d51b983b934ed2f09fdc465a94c5de6310808ded90280fa1f7401d93b4902/687474703a2f2f706f7365722e707567782e6f72672f73796c6975732d6c6162732f62656861742d70616e746865722d657874656e73696f6e2f646570656e64656e7473)](https://packagist.org/packages/sylius-labs/behat-panther-extension/dependents)

Symfony Panther extension for Behat

> **Note:** This is a fork maintained by [SyliusLabs](https://github.com/SyliusLabs). The original package is [`robertfausk/behat-panther-extension`](https://github.com/robertfausk/behat-panther-extension)([on Packagist](https://packagist.org/packages/robertfausk/behat-panther-extension)).

Install
-------

[](#install)

```
composer require --dev sylius-labs/behat-panther-extension
```

Usage example
-------------

[](#usage-example)

- Add `Robertfausk\Behat\PantherExtension: ~` to your behat.yml.
- Use `panther` session in `Behat\MinkExtension`.
- The extension will use options of `symfony/panther` by default. Have a look at `PantherTestCaseTrait::$defaultOptions` for this.
- Following are some examples with all sessions using mink-panther-driver: ```
    # in behat.yml
        extensions:
            Robertfausk\Behat\PantherExtension: ~ # no configuration here
            Behat\MinkExtension:
               javascript_session: javascript_chrome
               sessions:
                   default:
                       panther: ~
                   javascript:
                       panther:
                           options: ~
                   javascript_chrome:
                       panther:
                           options:
                               browser: 'chrome'
                               webServerDir: '%paths.base%/public' # your custom public dir
                   javascript_firefox:
                       panther:
                           options:
                               browser: 'firefox'
                   javascript_with_all_options:
                       panther:
                           options:
                               env:
                                   APP_ENV: 'dev'
                               hostname: '127.0.0.1'
                           kernel_options: ~ # unused by behat-panther-extension cause it does not extend KernelTestCase
                           manager_options:
                               connection_timeout_in_ms: 5000
                               request_timeout_in_ms: 120000
    ```

#### Example on how to pass arguments to ChromeDriver binary

[](#example-on-how-to-pass-arguments-to-chromedriver-binary)

See also

```
# in behat.yml enable logging
    extensions:
        Robertfausk\Behat\PantherExtension: ~
        Behat\MinkExtension:
           javascript_session: javascript
           sessions:
               javascript:
                   panther:
                       manager_options:
                           chromedriver_arguments:
                               - --log-path=/var/www/html/chromedriver.log
                               - --verbose
```

#### Example on how to test for a downloaded file

[](#example-on-how-to-test-for-a-downloaded-file)

```
# in behat.yml ensure that chrome saves files to the destination you want
    extensions:
        Robertfausk\Behat\PantherExtension: ~
        Behat\MinkExtension:
           javascript_session: javascript
           files_path: '%paths.base%/tests/files'
           sessions:
               javascript:
                   panther:
                       manager_options:
                           capabilities:
                                goog:chromeOptions:
                                    prefs:
                                        download.default_directory: '/var/www/html/tests/files/Downloads'
```

```
# acme_download.feature
Feature: Acme files can be downloaded

  Background:
    Given there is no file in download directory
    # additionally setup your database entries etc. if needed

  @javascript
  Scenario: As an user with role Admin i can download an existing acme file
    Given I am authenticated as "admin@acme.de"
    And I am on "/acme-file-list"
    Then I wait for "acme.pdf" to appear
    When I click on test element "button-acme-download"
    Then I can find file "acme.pdf" in download directory
```

```
