MDL-53956 behat: Avoid before and after step and switch

After pressing the button, if system is slow then
after step and before step might fail as the window
is closed by then. Execute steps one after other
This commit is contained in:
Rajesh Taneja 2016-05-18 10:35:59 +08:00
parent 65cbefc403
commit 1ef6a5e30a
2 changed files with 17 additions and 2 deletions

View File

@ -57,6 +57,22 @@ class behat_forms extends behat_base {
$buttonnode->press();
}
/**
* Press button with specified id|name|title|alt|value and switch to main window.
*
* @When /^I press "(?P<button_string>(?:[^"]|\\")*)" and switch to main window$/
* @throws ElementNotFoundException Thrown by behat_base::find
* @param string $button
*/
public function press_button_and_switch_to_main_window($button) {
// Ensures the button is present, before pressing.
$buttonnode = $this->find_button($button);
$buttonnode->press();
// Switch to main window.
$this->getSession()->switchToWindow(behat_general::MAIN_WINDOW_NAME);
}
/**
* Fills a form with field/value data. More info in http://docs.moodle.org/dev/Acceptance_testing#Providing_values_to_steps.
*

View File

@ -53,8 +53,7 @@ Feature: Teachers can override the grade for any question
And I press "Save"
And I should see "That is not a valid number."
And I set the field "Mark" to "10.0"
And I press "Save"
And I switch to the main window
And I press "Save" and switch to main window
And I should see "Complete" in the "Manually graded 10 with comment: " "table_row"
# This time is same as time the window is open. So wait for it to close before proceeding.
And I wait "2" seconds