instaclick/php-webdriver
PHP client for Selenium WebDriver, enabling browser automation and end-to-end testing from PHP. Control Chrome/Firefox/RemoteWebDriver, manage sessions, elements, waits, and actions, with support for Selenium Grid and popular testing frameworks.
Bugs:
Bug Fixes:
$parameters (array) replaced with {}Maintenance:
attribute() and css() to explicitly add their $parameters to URLBug Fixes:
$session->focusWindow() - support handle parameter for W3C compatibility (Selenium 3.x & Firefox) (@mvorisek)Bug Fixes
moveto returns "unknown command" on v4.3.0 of chrome webdriver (@slava-v)Maintenance
master branch$element->shadow(): /session/:sessionid/element/:elementid/shadow (POST)$session->getTimeouts(): /session/:sessionId/timeouts (GET)$session->newWindow(): /session/:sessionId/window/new (POST)$session->window() on legacy JSON Wire Protocol no longer closes a window; use $session->deleteWindow() instead$session->legacyWindow() from 2.0.0-BETA removed; $session->window() now returns Window or LegacyWindow objects for method chaining$session->execute() and $session->execute_async() wrap both the legacy JSON Wire Protocol and W3C Webdriver Protocol$legacy parameter from constructors; this used to be the $w3c property from 2.0.0-RC4execute() and execute_async() arguments and return value (@mvorisek)final keyword now only appears on classes that purely house constswebDriverElement() to makeElement()getElementPath() to getIdentifierPath()WEBDRIVER_ prefix is now WEB_[@copyright](https://github.com/copyright), [@license](https://github.com/license), and [@author](https://github.com/author) tagsFixes @robocoder's b0rked refactoring in 1.4.12. Thanks @mvorisek
Enhancements:
execute and execute_async arguments and return value (@mvorisek)Maintenance:
Backported error handling fixes from master branch
Changes:
preg_replace() requires quoting, especially for PHP 7.3 (@stronk7)Changes:
Reviewed changes to the latest Candidate Recommendation spec. November 24, 2017.
WebDriver W3C Candidate Recommendation 26 September 2017
Compat Busters
For newer web drivers that implement the WebDriver W3C candidate recommendation spec
$session->window() now returns a WebDriver\Window object for method chaining$element->submit(), $element->equals(), $element->displayed(), $element->location(), $element->location_in_view() and $element->size() are unsupported; refer to $element->click(), $element->property(), and $element->rect()$session->keys(), $session->orientation(), $session->alert_text(), $session->dismiss_text(), $session->moveto(), $session->click(), $session->buttondown(), $session->buttonup(), $session->doubleclick(), $session->execute_sql(), $session->location(), $session->browser_connection(), $session->window_handle(), $session->window_handles(), and $session->execute_async() are unsupported; refer to $session->actions(), $session->alert(), and $session->execute()For older web drivers still using the (legacy) JSON Wire Protocol:
$session->legacyWindow() instead of $session->window()log methodsfile method (Selenium server only)Bug Fixes:
Maintenance:
How can I help you explore Laravel packages today?