This project versioning adheres to Semantic Versioning.
- Added
getCapabilities()
method ofRemoteWebDriver
, to retrieve actual capabilities acknowledged by the remote driver on startup. - Added option to pass required capabilities when creating
RemoteWebDriver
. (So far only desired capabilities were supported.) - Added new expected conditions:
urlIs
- current URL exactly equals given valueurlContains
- current URL contains given texturlMatches
- current URL matches regular expressiontitleMatches
- current page title matches regular expressionelementTextIs
- text in element exactly equals given textelementTextContains
(as an alias fortextToBePresentInElement
) - text in element contains given textelementTextMatches
- text in element matches regular expressionnumberOfWindowsToBe
- number of opened windows equals given number
- Possibility to select option of
<select>
by its partial text (usingselectByVisiblePartialText()
). XPathEscaper
helper class to quote XPaths containing both single and double quotes.WebDriverSelectInterface
, to allow implementation of custom select-like components, eg. those not built around and actual select tag.
Symfony\Process
is used to start local WebDriver processes (when browsers are run directly, without Selenium server) to workaround some PHP bugs and improve portability.- Clarified meaning of selenium server URL variable in methods of
RemoteWebDriver
class. - Deprecated
setSessionID()
andsetCommandExecutor()
methods ofRemoteWebDriver
class; these values should be immutable and thus passed only via constructor. - Deprecated
WebDriverExpectedCondition::textToBePresentInElement()
in favor ofelementTextContains()
. - Throw an exception when attempting to deselect options of non-multiselect (it already didn't have any effect, but was silently ignored).
- Optimize performance of
(de)selectByIndex()
andgetAllSelectedOptions()
methods ofWebDriverSelect
when used with non-multiple select element.
- XPath escaping in
select*()
anddeselect*()
methods ofWebDriverSelect
.
- Added initial support of remote Microsoft Edge browser (but starting local EdgeDriver is still not supported).
- Utilize late static binding to make eg.
WebDriverBy
andDesiredCapabilities
classes easily extensible. - PHP version at least 5.5 is required.
- Fixed incompatibility with Appium, caused by redundant params present in requests to Selenium server.
- Fixed FirefoxProfile to support installation of extensions with custom namespace prefix in their manifest file.
- Comply codestyle with PSR-2.
- Added ext-curl to composer.json.
- Added CHANGELOG.md.
- Added CONTRIBUTING.md with information and rules for contributors.
- Fixed strict standards error in
ChromeDriver
. - Added unit tests for
WebDriverCommand
andDesiredCapabilities
. - Fixed retrieving temporary path name in
FirefoxDriver
whenopen_basedir
restriction is in effect.
- FirefoxProfile improved - added possibility to set RDF file and to add datas for extensions.
- Fixed setting 0 second timeout of
WebDriverWait
.