From f94ff57604a2295bef1c1e4d97a01f539aabf18d Mon Sep 17 00:00:00 2001 From: Maxime Rainville Date: Tue, 24 Sep 2019 13:58:15 +1200 Subject: [PATCH] BUG Add a method that allow multiple button to be search for and press --- src/Context/BasicContext.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/Context/BasicContext.php b/src/Context/BasicContext.php index ba632e8..3883644 100644 --- a/src/Context/BasicContext.php +++ b/src/Context/BasicContext.php @@ -442,6 +442,24 @@ JS; $button->click(); } + /** + * @Given /^I press one of these buttons "([^"]*)"$/ + * @param string $text A list of button names can be provided by seperating the entries with the | character. + */ + public function stepIPressOneOfTheseButtons($text) + { + $buttonNames = explode('|', $text); + foreach ($buttonNames as $name) { + $button = $this->findNamedButton(trim($name)); + if ($button) { + break; + } + } + + assertNotNull($button, "{$text} button not found"); + $button->click(); + } + /** * Needs to be in single command to avoid "unexpected alert open" errors in Selenium. * Example1: I press the "Remove current combo" button, confirming the dialog