diff --git a/lib/behat/behat_base.php b/lib/behat/behat_base.php index 8c60cecd4fe..c2dac9a9e72 100644 --- a/lib/behat/behat_base.php +++ b/lib/behat/behat_base.php @@ -302,6 +302,11 @@ class behat_base extends Behat\MinkExtension\Context\RawMinkContext { $loops = $timeout; } + // DOM will never change on non-javascript case; do not wait or try again. + if (!$this->running_javascript()) { + $loops = 1; + } + for ($i = 0; $i < $loops; $i++) { // We catch the exception thrown by the step definition to execute it again. try { @@ -320,10 +325,12 @@ class behat_base extends Behat\MinkExtension\Context\RawMinkContext { continue; } - if ($microsleep) { - usleep(100000); - } else { - sleep(1); + if ($this->running_javascript()) { + if ($microsleep) { + usleep(100000); + } else { + sleep(1); + } } } diff --git a/lib/tests/behat/behat_forms.php b/lib/tests/behat/behat_forms.php index 72e186ee930..f7a5a529e65 100644 --- a/lib/tests/behat/behat_forms.php +++ b/lib/tests/behat/behat_forms.php @@ -98,6 +98,10 @@ class behat_forms extends behat_base { * @return void */ protected function expand_all_fields() { + // Expand only if JS mode, else not needed. + if (!$this->running_javascript()) { + return; + } // We already know that we waited for the DOM and the JS to be loaded, even the editor // so, we will use the reduced timeout as it is a common task and we should save time.