Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Panther Laravel Package

symfony/panther

Symfony Panther is a PHP library for end-to-end browser testing and web scraping using real browsers like Chrome and Firefox. Built on the W3C WebDriver protocol, it drives native browsers for reliable automation in Symfony or standalone.

View on GitHub
Deep Wiki
Context7
v2.4.0

What's Changed

New Contributors

Full Changelog: https://github.com/symfony/panther/compare/v2.3.0...v2.4.0

v2.3.0
  • Add support for PHP 8.5
  • Add support for Symfony 8
  • Disable dev-tools by default
v2.2.0
  • Add support for PHP 8.4
  • Add support for using Selenium with the built-in web server
  • Add a PANTHER_NO_REDUCED_MOTION environment variable to instruct the website to disable the reduction of non-essential movement
  • Add the ability to pass options to HttpClient when using HttpBrowser
  • Use a custom exception hierarchy instead of native exceptions directly
  • The Firefox window-size option is not set by default anymore in headless mode
  • Add explicit error messages in wait* methods
  • Fix support for checkbox and radio buttons having 0 as value
  • Fix catching of WebDriver exceptions
  • Ignore curl exceptions when closing WebDriver inside the destructor
  • Documentation has been moved from the Git repository to https://symfony.com/doc/current/testing/end_to_end.html
v2.1.1
  • Allow Symfony 7
  • Improve DX when using the Symfony binary
  • Fix screenshot on test failure
  • Add missing arguments when calling the legacy PHPUnit extension
v2.1.0
  • Add support for PHPUnit 10
  • Add support for matches() and closest() in Crawler
v2.0.1

What's Changed

Full Changelog: https://github.com/symfony/panther/compare/v2.0.0...v2.0.1

v2.0.0

What's Changed

New Contributors

Full Changelog: https://github.com/symfony/panther/compare/v1.1.2...v2.0.0

v1.1.2

What's Changed

Full Changelog: https://github.com/symfony/panther/compare/v1.1.1...v1.1.2

v1.1.1
  • Fix a bug preventing to disable the headless mode
v1.1.0
  • Add a PANTHER_DEVTOOLS environment variable to disable the dev tools
  • Add a PANTHER_ERROR_SCREENSHOT_ATTACH environment variable to attach screenshots to PHPUnit reports in the JUnit format
  • Add a chromedriver_arguments option to pass custom arguments to Chromedriver
  • Add an env option to pass custom environment variables to the built-in web server from PantherTestCase
  • Add the possibility to pass options to ChromeManager
  • Automatically find the Chromedriver binary installed by lanfest/binary-chromedriver
  • Symfony 5.3 compatibility
  • Fix assertions that were not working with clients other than PantherClient
  • Fix the ability to keep the window of the browser open when a test fail by using the --debug option
  • Fix the ServerExtension when registerClient() is called multiple times
  • Fix undefined constant errors when using PantherTestCaseTrait directly
v1.0.1
  • Fix storing screenshots in the wrong directory when PANTHER_ERROR_SCREENSHOT_DIR is enabled
v1.0.0
  • Add Client::waitForEnabled(), Client::waitForDisabled(), Client::waitForAttributeToContain() and Client::waitForAttributeToNotContain() methods
  • Add PantherTestCase::assertSelectorAttributeContains(), PantherTestCase::assertSelectorAttributeNotContains(), PantherTestCase::assertSelectorWillExist(), PantherTestCase::assertSelectorWillNotExist(), PantherTestCase::assertSelectorWillBeVisible(), PantherTestCase::assertSelectorWillNotBeVisible(), PantherTestCase::assertSelectorWillContain(), PantherTestCase::assertSelectorWillNotContain(), PantherTestCase::assertSelectorWillBeEnabled(), PantherTestCase::assertSelectorWillBeDisabled, PantherTestCase::assertSelectorAttributeWillContain(), and PantherTestCase::assertSelectorAttributeWillNotContain() assertions
  • Automatically take a screenshot when a test fail and if the PANTHER_ERROR_SCREENSHOT_DIR environment variable is set
  • Add missing return types
  • Breaking Change: Remove the deprecated PHPUnit listener, use the PHPUnit extension instead
  • Breaking Change: Remove deprecated support for Goutte, use HttpBrowser instead
  • Breaking Change: Remove deprecated support for PANTHER_CHROME_DRIVER_BINARY and PANTHER_GECKO_DRIVER_BINARY environment variables, add the binaries in your PATH instead
  • Don't allow unserializing classes with a destructor
v0.9.0
  • Breaking Change: ChromeDriver and geckodriver binaries are not included in the archive anymore and must be installed separately, refer to the documentation
  • PHP 8 compatibility
  • Add Client::waitForStaleness() method to wait for an element to be removed from the DOM
  • Add Client::waitForInvisibility() method to wait for an element to be invisible
  • Add Client::waitForElementToContain() method to wait for an element containing the given parameter
  • Add Client::waitForElementToNotContain() method to wait for an element to not contain the given parameter
  • Add PantherTestCase::assertSelectorIsVisible(), PantherTestCase::assertSelectorIsNotVisible(), PantherTestCase::assertSelectorIsEnabled() and PantherTestCase::assertSelectorIsDisabled() assertions
  • Fix baseUri not taken into account when using Symfony HttpBrowser
v0.8.0
  • Upgrade ChromeDriver to version 85.0.4183.87
  • Upgrade geckodriver to version 0.27.0
  • Add a Client::waitForVisibility() method to wait for an element to appear
  • Allow passing options to the browser manager from PantherTestCase::createPantherClient()
  • Add a Client::ping() method to check if the WebDriver connection is still active
  • Fix setting a new value to an input field when there is an existing value
  • Improve the error message when the web server crashes
  • Throw an explanative LogicException when driver is not started yet
  • Prevent timeouts caused by the integrated web server
  • Fix the value of cookie secure flags
  • Throw an exception when getting history (unsupported feature)
  • Add docs to use Panther with GitHub Actions
  • Various bug fixes and documentation improvements
v0.7.1
  • Fix some inconsistencies between Chrome and Firefox
v0.7.0
  • Add built-in support for Firefox (using GeckoDriver)
  • Add support for Symfony HttpBrowser
  • Deprecate Goutte support (use HttpBrowser instead)
  • Allow to configure RemoteWebDriver timeouts to when using Selenium
  • Allow to pass custom environment variables to the built-in web server
  • Fix some compatibility issues with PHP WebDriver 1.8
  • Upgrade ChromeDriver to version 80.0.3987.106
  • Prevent access to fixture files even if the web server is misconfigured
v0.6.1
  • Upgrade ChromeDriver to version 79.0.3945.36
  • Allow to pass custom timeouts as options of ChromeManager (connection_timeout_in_ms and request_timeout_in_ms)
v0.6.0
  • Add compatibility with Symfony 5
  • Allow to use Client::waitFor() to wait for invisible elements
  • Add support to pass XPath expressions as parameters of Client::waitFor()
  • Fix Crawler::attr() signature (it can return null)
  • Deprecate ServerListener (use ServerExtension instead)
  • Upgrade ChromeDriver to version 78.0.3904.70
  • New logo
  • Various docs fixes and improvements
v0.5.2
  • Fix a bug occurring when using a non-fresh client
v0.5.1
  • Allow to override the APP_ENV environment variable passed to the web server by setting PANTHER_APP_ENV
  • Fix using assertions with a client created through PantherTestCase::createClient()
  • Don't call PantherTestCase::getClient() if this method isn't static
  • Fix remaining deprecations
v0.5.0
  • Add support for Crawler test assertions
  • Add the PantherTestCase::createAdditionalPantherClient() to retrieve additional isolated browsers, useful to test applications using Mercure or WebSocket
  • Improved support for non-standard web server directories
  • Allow the integrated web server to start even if the homepage doesn't return a 200 HTTP status code
  • Increase default timeouts from 5 seconds to 30 seconds
  • Improve error messages
  • Add compatibility with Symfony 4.3
  • Upgrade ChromeDriver to version 76.0.3809.68
  • Various quality improvements
v0.4.1
  • Remove the direct dependency to symfony/contracts
v0.4.0
  • Speed up the boot sequence
  • Add basic support for file uploads
  • Add a readinessPath option to use a custom path for server readiness detection
  • Fix the behavior of ChoiceFormField::getValue() to be consistent with other BrowserKit implementations
  • Ensure to clean the previous content of field when using TextareaFormField::setValue() and InputFormField::setValue()
v0.3.0
  • Add a new API to manipulate the mouse
  • Keep the browser window open on fail, when running in non-headless mode
  • Automatically open Chrome DevTools when running in non-headless mode
  • PHPUnit 8 compatibility
  • Add a PHPUnit extension to keep alive the webserver and the client between tests
  • Change the default port of the web server to 9080 to prevent a conflit with Xdebug
  • Allow to use an external web server instead of the built-in one for testing
  • Allow to use a custom router script
  • Allow to use a custom Chrome binary
v0.2.0
  • Compatibility with PHP 7.1 (the minimal version was 7.2 before)
  • Added a PHPUnit listener (ServerListener) to keep the webserver active during the entire test suite
  • The kernel is now always booted when in a Symfony test, and it's possible to configure it
  • Added a new Client::refreshCrawler() method to refresh the crawler when WebDriver elements are stale
  • Possibility to pass custom arguments to ChromeDriver
  • Added JS execution capabilities to the Client class
  • Improved documentation
  • Improved CI
v0.1.0

Initial release

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport
twbs/bootstrap4
php-http/client-implementation
phpcr/phpcr-implementation
cucumber/gherkin-monorepo
haydenpierce/class-finder
psr/simple-cache-implementation