From 20dd5a7a7ab6db4d9551226ab25064cfbc14e713 Mon Sep 17 00:00:00 2001 From: Tim Hunt Date: Thu, 18 Dec 2014 19:29:29 +0000 Subject: [PATCH] MDL-48653 behat: Steps to click and dismiss a dialogue. We already had the corresponding I click on "Home" "link" confirming the dialogue but I needed the opposite I click on "Home" "link" dismissing the dialogue --- lib/tests/behat/behat_general.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/lib/tests/behat/behat_general.php b/lib/tests/behat/behat_general.php index b0a02c58100..778f0f9c22d 100644 --- a/lib/tests/behat/behat_general.php +++ b/lib/tests/behat/behat_general.php @@ -206,6 +206,14 @@ class behat_general extends behat_base { $this->getSession()->getDriver()->getWebDriverSession()->accept_alert(); } + /** + * Dismisses the currently displayed alert dialog. This step does not work in all the browsers, consider it experimental. + * @Given /^I dismiss the currently displayed dialog$/ + */ + public function dismiss_currently_displayed_alert_dialog() { + $this->getSession()->getDriver()->getWebDriverSession()->dismiss_alert(); + } + /** * Clicks link with specified id|title|alt|text. * @@ -344,6 +352,18 @@ class behat_general extends behat_base { $this->accept_currently_displayed_alert_dialog(); } + /** + * Clicks the specified element and dismissing the expected dialogue. + * + * @When /^I click on "(?P(?:[^"]|\\")*)" "(?P[^"]*)" dismissing the dialogue$/ + * @throws ElementNotFoundException Thrown by behat_base::find + * @param string $link + */ + public function i_click_on_dismissing_the_dialogue($element, $selectortype) { + $this->i_click_on($element, $selectortype); + $this->dismiss_currently_displayed_alert_dialog(); + } + /** * Click on the element of the specified type which is located inside the second element. *