Merge pull request #73 from jeffreyguo/pulls/cms-modal

Handle modal dialogue which will block all tests in the cms
This commit is contained in:
Ingo Schommer 2014-09-23 22:20:23 +12:00
commit 060f45f2cc
1 changed files with 27 additions and 6 deletions

View File

@ -215,13 +215,34 @@ JS;
*
* @AfterStep
*/
public function takeScreenshotAfterFailedStep(StepEvent $event)
{
if (4 === $event->getResult()) {
$this->takeScreenshot($event);
}
}
public function takeScreenshotAfterFailedStep(StepEvent $event)
{
if (4 === $event->getResult()) {
$this->takeScreenshot($event);
}
}
/**
* Close modal dialog if test scenario fails on CMS page
*
* @AfterScenario
*/
public function closeModalDialog(ScenarioEvent $event) {
// Only for failed tests on CMS page
if (4 === $event->getResult()) {
$cmsElement = $this->getSession()->getPage()->find('css', '.cms');
if($cmsElement) {
try {
// Navigate away triggered by reloading the page
$this->getSession()->reload();
$this->getSession()->getDriver()->getWebDriverSession()->accept_alert();
} catch(\WebDriver\Exception $e) {
// no-op, alert might not be present
}
}
}
}
/**
* Delete any created files and folders from assets directory
*