MDL-50163 behat: Restart session after scenario with switch_window
authorrajesh Taneja <rajesh@moodle.com>
Thu, 22 Oct 2015 03:35:00 +0000 (11:35 +0800)
committerRajesh Taneja <rajesh@moodle.com>
Tue, 17 Nov 2015 04:12:03 +0000 (12:12 +0800)
Restart session after a scenario with switch window
is finished. This will close all open browser windows
and open a new browser window

lib/tests/behat/behat_hooks.php
mod/book/tests/behat/log_entries.feature
mod/quiz/tests/behat/attempt_redo_questions.feature

index 5df77bb..fe8c945 100644 (file)
@@ -384,6 +384,18 @@ class behat_hooks extends behat_base {
         }
     }
 
+    /**
+     * Executed after scenario having switch window to restart session.
+     * This is needed to close all extra browser windows and starting
+     * one browser window.
+     *
+     * @param ScenarioEvent $event event fired after scenario.
+     * @AfterScenario @_switch_window
+     */
+    public function after_scenario_switchwindow(ScenarioEvent $event) {
+        $this->getSession()->restart();
+    }
+
     /**
      * Getter for self::$faildumpdirname
      *
index 79e95d4..1cb165b 100644 (file)
@@ -4,7 +4,7 @@ Feature: In a book, verify log entries
   As an admin
   I need to perform various actions in a book.
 
-  @javascript
+  @javascript @_switch_window
   Scenario: perform various book actions and verify log entries.
     Given the following "courses" exist:
       | fullname | shortname | category | groupmode |
index ae99031..ce6cf09 100644 (file)
@@ -68,7 +68,7 @@ Feature: Allow students to redo questions in a practice quiz, without starting a
     And I click on "Submit all and finish" "button" in the "Confirmation" "dialogue"
     Then "Redo question" "button" should not exist
 
-  @javascript
+  @javascript @_switch_window
   Scenario: Teachers reviewing can see all the qestions attempted in a slot
     When I follow "Quiz 1"
     And I press "Attempt quiz now"