Skip to content

Instantly share code, notes, and snippets.

@blazarecki
Last active November 10, 2021 15:54
Show Gist options
  • Star 45 You must be signed in to star a gist
  • Fork 14 You must be signed in to fork a gist
  • 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 <benjamin.lazarecki@gmail.com>
*/
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);
}
}
@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