diff --git a/grade/tests/behat/behat_grade.php b/grade/tests/behat/behat_grade.php index f7ff737e3c3..c913599656a 100644 --- a/grade/tests/behat/behat_grade.php +++ b/grade/tests/behat/behat_grade.php @@ -107,7 +107,9 @@ class behat_grade extends behat_base { $steps[] = new Given('I click on "' . $this->escape($linkxpath) . '" "xpath_element"'); // After adding id numbers we should wait until the page is reloaded. - $steps[] = new Given('I wait until the page is ready'); + if ($this->running_javascript()) { + $steps[] = new Given('I wait until the page is ready'); + } // Mapping names to idnumbers. $datahash = $data->getRowsHash(); @@ -116,8 +118,8 @@ class behat_grade extends behat_base { // Grrr, we can't equal in categoryitem and courseitem because there is a line jump... $inputxpath ="//input[@class='idnumber'][" . "parent::li[@class='item'][text()='" . $gradeitem . "']" . - " | " . - "parent::li[@class='categoryitem' | @class='courseitem']/parent::ul/parent::li[starts-with(text(),'" . $gradeitem . "')]" . + " or " . + "parent::li[@class='categoryitem' or @class='courseitem']/parent::ul/parent::li[starts-with(text(),'" . $gradeitem . "')]" . "]"; $steps[] = new Given('I set the field with xpath "' . $inputxpath . '" to "' . $idnumber . '"'); } @@ -125,7 +127,9 @@ class behat_grade extends behat_base { $steps[] = new Given('I press "' . get_string('addidnumbers', 'grades') . '"'); // After adding id numbers we should wait until the page is reloaded. - $steps[] = new Given('I wait until the page is ready'); + if ($this->running_javascript()) { + $steps[] = new Given('I wait until the page is ready'); + } $steps[] = new Given('I set the field "' . get_string('calculation', 'grades') . '" to "' . $calculation . '"'); $steps[] = new Given('I press "' . $savechanges . '"'); diff --git a/grade/tests/behat/grade_minmax.feature b/grade/tests/behat/grade_minmax.feature index 2102bfdcf2b..ad5f2325a87 100644 --- a/grade/tests/behat/grade_minmax.feature +++ b/grade/tests/behat/grade_minmax.feature @@ -4,7 +4,6 @@ Feature: We can choose what min or max grade to use when aggregating grades. As an teacher I can update modify a course setting - @javascript Scenario: Changing the min or max grade to use updates the grades accordingly Given the following "courses" exist: | fullname | shortname | category | groupmode | diff --git a/lib/tests/behat/behat_forms.php b/lib/tests/behat/behat_forms.php index d9ce8ea9548..964c7865f6a 100644 --- a/lib/tests/behat/behat_forms.php +++ b/lib/tests/behat/behat_forms.php @@ -380,7 +380,12 @@ class behat_forms extends behat_base { ); if (!$this->running_javascript()) { - $actions[] = new Given('I press "' . get_string('go') . '"'); + // Press button in the specified select container. + $containerxpath = "//div[contains(concat(' ', normalize-space(@class), ' '), ' singleselect ') and " . + ".//label[contains(normalize-space(string(.)), '" . $singleselect . "')]]"; + + $actions[] = new Given('I click on "' . get_string('go') . '" "button" in the "' . $containerxpath . + '" "xpath_element"'); } return $actions;