All Versions
22
Latest Version
Avg Release Cycle
111 days
Latest Release
334 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v1.12.1 Changes
May 03, 2022๐ Fixed
- ๐ Improper PHP documentation for
getAttribute()
andgetDomProperty()
. - Unsafe use of
static::
when accessing private property inDesiredCapabilities
. - ๐ PHP 8.1 deprecations in the
Cookie
class.
๐ Changed
- ๐ Docs: Extend
findElement()
/findElements()
method documentation to better explain XPath behavior. - โ Add
@return
and@param
type annotations to Cookie class to avoid deprecations in PHP 8.1.
- ๐ Improper PHP documentation for
-
v1.12.0 Changes
October 14, 2021โ Added
RemoteWebElement::getDomProperty()
method to read JavaScript properties of an element (like the value ofinnerHTML
etc.) in W3C mode.WebDriverCommand::newSession()
constructor to create new session command without violating typehints.
๐ Changed
- ๐ Allow installation of Symfony 6 components.
๐ Fixed
- PHP 8.1 compatibility.
-
v1.11.1 Changes
May 21, 2021๐ Fixed
RemoteWebElement::getLocationOnScreenOnceScrolledIntoView()
was missing polyfill implementation for W3C mode and not working in eg. Safari.
-
v1.11.0 Changes
May 03, 2021โ Added
FirefoxOptions
class to simplify passing Firefox capabilities. Usage is covered in our wiki.- ๐
FirefoxDriver
to easy local start of Firefox instance without a need to start thegeckodriver
process manually. See wiki for usage examples. - Method
ChromeDriver::startUsingDriverService()
to be used for creating ChromeDriver instance with custom service.
๐ Fixed
- ๐ป Driver capabilities received from the browser when creating now session were not set to the instance of ChromeDriver (when ChromeDriver::start() was used).
๐ Changed
- ๐ Deprecate
ChromeDriver::startSession
. However, the method was supposed to be used only internally. - ๐ป KeyDown and KeyUp actions will throw an exception when not used with modifier keys.
-
v1.10.0 Changes
February 25, 2021โ Added
- ๐ Support for sending Chrome DevTools Protocol commands (see details in wiki).
- Option to specify type of new window (window or tab) when using
$driver->switchTo()->newWindow()
.
๐ Fixed
- ๐ป Actually start ChromeDriver in W3C mode if it is supported by the browser driver. Until now, when it was initialized using
ChromeDriver::start()
, it has always been unintentionally started in OSS mode. - ChromeOptions were ignored when passed to DesiredCapabilities as
ChromeOptions::CAPABILITY_W3C
. - โช Clicking a block element inside
<a>
element in Firefox (workaround for GeckoDriver bug 1374283).
๐ Changed
- ๐ป Throw
DriverServerDiedException
on local driver process terminating unexpectedly and provide full details of original exception to improve debugging. - Do not require
WEBDRIVER_CHROME_DRIVER
environment variable to be set ifchromedriver
binary is already available via system PATH. - ๐ Mark PhantomJS deprecated, as it is no longer developed and maintained.
- ๐ Deprecate
RemoteWebDriver::newWindow()
in favor of$driver->switchTo()->newWindow()
. - ๐ป Don't escape slashes in CURL exception message to improve readability.
-
v1.9.0 Changes
November 19, 2020โ Added
- ๐ Support of SameSite cookie property.
- Command
RemoteWebDriver::newWindow()
for W3C mode to open new top-level browsing context (aka window). - ๐ PHP 8.0 support.
-
v1.8.3 Changes
October 06, 2020๐ Fixed
- ๐ Make
alertIsPresent()
condition working in W3C mode. RemoteWebDriver::create()
cannot be used without providing the second parameter (which is in fact optional).ChromeDriver::start()
starts in inconsistent state mixing W3C/OSS mode.- ๐ Modifier keys are not released when sending NULL key in GeckoDriver (workaround for GeckoDriver bug 1494661).
- Do not set unnecessary
binary
value ofgoog:chromeOptions
while keep the object in proper data type required by ChromeDriver.
- ๐ Make
-
v1.8.2 Changes
March 04, 2020๐ Changed
- Reimplement element
equals()
method to be working in W3C mode. - ๐ New instance of
RemoteWebDriver
created viacreateBySessionID()
by default expects W3C mode. This could be disabled using fifth parameter ofcreateBySessionID()
. - Disable JSON viewer in Firefox to let JSON response be rendered as-is.
๐ Fixed
- Properly read fifth parameter whether W3C compliant instance should be created when using
createBySessionID()
. - Creating of Firefox profile with libzip 1.6+ (eg. on Mac OS Catalina).
- Reimplement element
-
v1.8.1 Changes
February 17, 2020๐ Fixed
- Accept array as possible input to
sendKeys()
method. (Unintentional BC break in 1.8.0.) - ๐ Use relative offset when moving mouse pointer in W3C WebDriver mode.
- Accept array as possible input to
-
v1.8.0 Changes
February 10, 2020โ Added
- ๐ Experimental W3C WebDriver protocol support. The protocol will be used automatically when remote end (like Geckodriver, newer Chromedriver etc.) supports it.
getStatus()
method ofRemoteWebDriver
to get information about remote-end readiness to create new sessions.takeElementScreenshot()
method ofRemoteWebElement
to do the obvious - take screenshot of the particular element.- ๐ Support for sending custom commands via
executeCustomCommand()
. See wiki for more information.
๐ Changed
- The repository was migrated to
php-webdriver/php-webdriver
. - ๐ฆ The Packagist package was renamed to
php-webdriver/webdriver
and the originalfacebook/webdriver
was marked as abandoned. - โช Revert no longer needed workaround for Chromedriver bug 2943.
- ๐ Allow installation of Symfony 5 components.
- Rename environment variable used to pass path to ChromeDriver executable from
webdriver.chrome.driver
toWEBDRIVER_CHROME_DRIVER
. However the old one also still works to keep backward compatibility - If subdirectories in a path to screenshot destination does not exists (using
takeScreenshot()
ortakeElementScreenshot()
methods), they are automatically created. - ๐ป When zip archive cannot be created during file upload, throw an exception instead of silently returning false.
WebDriverNavigation
andEventFiringWebDriverNavigation
now both implement newWebDriverNavigationInterface
.
๐ Fixed
WebDriverExpectedCondition::presenceOfElementLocated()
works correctly when used withinWebDriverExpectedCondition::not()
.- Improper behavior of Microsoft Edge when retrieving all cookies via
getCookies()
(it was causing fatal error when there were no cookies). - Avoid "path is not canonical" error when uploading file to Chromedriver.