diff --git a/admin/tool/behat/tests/behat/keyboard.feature b/admin/tool/behat/tests/behat/keyboard.feature index ca9a74f02f3..76fc62c5c79 100644 --- a/admin/tool/behat/tests/behat/keyboard.feature +++ b/admin/tool/behat/tests/behat/keyboard.feature @@ -35,6 +35,11 @@ Feature: Verify that keyboard steps work as expected | saffronr | saffron.rutledge@example.com | Saffron | Rutledge | And I log in as "saffronr" And I click on "Saffron Rutledge" "link" in the ".usermenu" "css_element" + # The version of Boost used in Moodle 3.5 does not have any pendingJS checks and it is not possible to add them. + # We need to use the poor-person's alternative and fall back to a short wait to allow the menu to open before + # interacting with it. + # This may still allow for failures on extremely slow systems but the risk is extremely minimal. + And I wait "1" seconds When I press the up key Then the focused element is "Log out" "link" diff --git a/lib/behat/form_field/behat_form_autocomplete.php b/lib/behat/form_field/behat_form_autocomplete.php index 238bbeecc35..d6b29c20fac 100644 --- a/lib/behat/form_field/behat_form_autocomplete.php +++ b/lib/behat/form_field/behat_form_autocomplete.php @@ -82,8 +82,9 @@ class behat_form_autocomplete extends behat_form_text { } $this->wait_for_pending_js(); - // Press the escape to close the autocomplete suggestions list. - behat_base::type_keys($this->session, [behat_keys::ESCAPE]); + // Note: This does not make use of the `type_keys` API because it can cause some modals to close. + // This is not an issue in later versions of Moodle where the autocomplete handling has been updated. + $this->key_press(27); $this->wait_for_pending_js(); } }