Also, change:
get_real_timeout(30000)
to:
get_real_timeout(30) * 1000
because the original functions are defined to use seconds, and
having the 1000 around will help us detecting cases in the case
of a hypothetical review of uses.
An case was found where the webdriver stop() call could fail in an
AfterScenario hook, leading to a complete rerun if no other errors were
experienced.
Behat should not trigger Synthetic browser events. It is incorrect to do
so as the UI should be used to trigger events correctly.
The W3C WebDriver specification explicitly states when and where these
events will be triggered from (the browser) and therefore there is no
ambiguity and no need to synthetically trigger them from Behat.
The W3C Specification does not require that a NodeElement be in the
current viewport before triggering a mouseOver. As a result the
mouseOver will generate an Exception because the element is not in the
viewport, and the X/Y co-ordinates are invalid.
To handle this the node is scrolled into view.
Normalise switching of window contexts by setting the main window name
to a null.
Where the window has no name (null/empty), then the root context is
selected.
This change introduces a new function to execute Javascript directly on
a node.
This should not, ordinarily, be used directly by steps, but may be
required in other parts of the Behat interaction.
The PHP WebDriver Mink Driver does not necessarily require Selenium. It
supports Selenium 3 upwards, and can be used directly with ChromeDriver,
EdgeDriver, SafariDriver, GeckoDriver, and others.
It therefore uses a slightly different configuraitno path.
This commit updates core Behat features to make use of the
php-webdriver/webdriver library instead of the legacy Instaclick
library.
Most of these changes relate to use of features of WebDriver which we
are required to use directly rather than through the Mink Driver.
The form_autocomplete is essentially a custom element. Unfortunately the
`setValue()` function in Mink has undesired actions so it is necessary
to write our own handling for it.
The standard Mink `setValue()` function focuses the element, sets a
value, and then blurs the element. In the case of the autocomplete this
can cause the autocomplete suggestions list to be closed in some
situations. Instead of using the setValue we click, and type the value,
but do not immediately blur.
Fixed a regression caused by MDL-64194 resulting in Dashboard - Course
overview pagination not working from second page of courses onwards.
Course overview block should now do the following:
- Display no pagination controls when user has no courses
- Display no pagination controls when less than 12 courses to display
- Only display pagination controls up to the number of courses user is
enrolled in
- Work correctly when on a page greater than the second page.
There was a typo - missing underscore. As a result, the new refresh
token was never updated in the database. Depending on the issuer and
whether or when theyu invalidate issued refresh tokens, this might or
might not make the token refresh stop working.