Skip to content

Instantly share code, notes, and snippets.

@blazarecki
Last active November 10, 2021 15:54
Show Gist options
  • Save blazarecki/2888851 to your computer and use it in GitHub Desktop.
Save blazarecki/2888851 to your computer and use it in GitHub Desktop.
Alert, confirm and prompt with mink
<?php
namespace Widop\Mink\Extension;
/**
* Dictionary to manage popups.
*
* @author Benjamin Lazarecki <[email protected]>
*/
trait PopupDictionary
{
/**
* @when /^(?:|I )confirm the popup$/
*/
public function confirmPopup()
{
$this->getSession()->getDriver()->getWebDriverSession()->accept_alert();
}
/**
* @when /^(?:|I )cancel the popup$/
*/
public function cancelPopup()
{
$this->getSession()->getDriver()->getWebDriverSession()->dismiss_alert();
}
/**
* @When /^(?:|I )should see "([^"]*)" in popup$/
*
* @param string $message The message.
*
* @return bool
*/
public function assertPopupMessage($message)
{
return $message == $this->getSession()->getDriver()->getWebDriverSession()->getAlert_text();
}
/**
* @When /^(?:|I )fill "([^"]*)" in popup$/
*
* @param string $message The message.
*/
public function setPopupText($message)
{
$this->getSession()->getDriver()->getWebDriverSession()->postAlert_text($message);
}
}
@balusai
Copy link

balusai commented Sep 11, 2015

/**
* @when /^I confirm popup$/
*/
public function iConfirmPopup()
{
$this->getMainContext()->getSession()->getDriver()->getWebDriverSession()->accept_alert();
}

add this in featureContext.php file

and add "When I confirm popup " in your feature file

Now it works fine.

@blazarecki
Copy link
Author

@vincenzodibiaggio
Copy link

tnx for your work. I only suggest to you to use the assert() function instead of a simple return

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment