PHP web browser emulator abstraction
New features:
symfony/css-selector
7Testsuite:
New features:
symfony/css-selector
6WebAssert::elementAttributeNotExists
Removed:
symfony/css-selector
<4.4Bug fixes:
New features:
Element::waitFor
Removed:
Testsuite:
Bug fixes:
NodeElement::getValue
. This method actually returns null
in some cases (unchecked checkbox for instance)New features:
visit
. Mink::getSession()
will no longer start the session automatically.symfony/css-selector
4 and 5Bug fixes:
ExpectationException::getSession()
|
inside strings or conditions rather than as a top-level unioncount
on stringsTestsuite:
Driver testsuite:
mink/driver-testsuite
to run driver tests instead.Misc:
Boolean
to boolean
to be compatible with psalm type checkingBug fixes:
Testsuite:
Driver testsuite:
wait()
always return a boolean even when the JS expression does not cast the valueMisc:
Session::getResponseHeader
to access a response header easilyCoreDriver::findElementXpaths
instead of implementing find
and setSession
themselves..php
symfony/phpunit-bridge
to get them reported when using Mink in your PHPUnit tests.NodeElement::hasClass
in case the class attribute contains newlinesWebAssert::cleanUrl()
The main focus of this release is ensuring consistency between all driver implementations.
named_partial
selector if you want to force doing a partial match.NodeElement::getValue
for checkboxes now returns the value of the field when checked and null
otherwise rather than the checked state (use NodeElement::isChecked
for that)Element::getSession
has been deprecated and will be removed in 2.0. Code needing the session should get it from outside rather than from the element.NodeElement::setValue
to support any fields rather than only input elementsElement::getOuterHtml
to get the HTML code of the element including itselfElement::waitFor
to allow retrying some code until it succeeds or the timeout is reachedElement::isValid
to check whether an element still exists in the pageSession::getWindowName
and Session::getWindowNames
to get the name of the current and of all windowsSession::maximizeWindow
to maximize the windowNodeElement::isSelected
to check whether an <option>
is selectedNodeElement::submitForm
to allow submitting a form without using a buttonSession::wait
to return the condition value rather than nothingWebAssert
Behat\Mink\Selector\Xpath\Escaper
to allow reusing the XPath escaping. When building your own XPath, using it is prefered over accessing the SelectorsHandler for forward-compatibility with 2.0 (using the SelectorsHandler to escape the locator passed to the named selector is fine as this escaping will need to be removed in 2.0)hasClass
from DocumentElement
(instead of triggering a fatal error when it is used)placeholder
only for textual inputsNodeElement::getTagName
to ensure that the tag name is lowercase for all driversElement::hasAttribute
to ensure it supports attributes with an empty valuefield
selector to avoid matching inputs with the type submit
or reset
reset
buttons as wellSession::executeScript
compatible across drivers by ensuring they all support the same syntaxes for the JS expressionSession::evaluateScript
compatible across drivers by ensuring they all support the same syntaxes for the JS expression