/** @AfterStep */
    public function after(Behat\Behat\Event\StepEvent $event)
    {
        if ($event->getResult() == 4) {
            //Failure
            $dbName = getenv('MAGENTO_DB_NAME');
            $dbUser = getenv('MAGENTO_DB_USER');
            $sql = <<<EOD
mysql -u {$dbUser} {$dbName} -e "select path,value from core_config_data where path like 'payment/CreditCard/%'"
EOD;
            system($sql);
            $sql = <<<EOD
mysql -u {$dbUser} {$dbName} -e "select path,value from core_config_data where path like 'payment/LEcheck/%'"
EOD;
            system($sql);
        }
    }
 /**
  * @param Behat\Behat\Event\StepEvent             $firstEvent
  * @param Behat\Behat\Event\StepEvent             $secondEvent
  * @param Behat\Behat\Event\StepEvent             $thirdEvent
  * @param Behat\Behat\Definition\Annotation\Given $firstDefinition
  * @param Behat\Behat\Definition\Annotation\When  $secondDefinition
  * @param Behat\Behat\Definition\Annotation\Then  $thirdDefinition
  * @param Behat\Behat\Event\SuiteEvent            $event
  */
 function it_computes_which_steps_have_more_than_80_percent_of_similarity_after_the_suite_has_been_run($firstEvent, $secondEvent, $thirdEvent, $firstDefinition, $secondDefinition, $thirdDefinition, $event)
 {
     $firstEvent->getDefinition()->willReturn($firstDefinition);
     $firstEvent->getResult()->willReturn(\Behat\Behat\Event\StepEvent::SKIPPED);
     $firstDefinition->getRegex()->willReturn('aaaaaaaaaa');
     $this->afterStep($firstEvent);
     $secondEvent->getDefinition()->willReturn($secondDefinition);
     $secondEvent->getResult()->willReturn(\Behat\Behat\Event\StepEvent::SKIPPED);
     $secondDefinition->getRegex()->willReturn('aaaaaaaabb');
     $this->afterStep($secondEvent);
     $thirdEvent->getDefinition()->willReturn($thirdDefinition);
     $thirdEvent->getResult()->willReturn(\Behat\Behat\Event\StepEvent::SKIPPED);
     $thirdDefinition->getRegex()->willReturn('I am totally different from the other steps');
     $this->afterStep($thirdEvent);
     $this->afterSuite($event);
     $this->getMergeableSteps()->shouldReturn(array(array('source' => 'aaaaaaaaaa', 'compare' => 'aaaaaaaabb')));
 }
 /**
  * Take screenshot when step fails. Works only with Selenium2Driver.
  *
  * Screenshot is saved at [Date]/[Feature]/[Scenario]/[Step].jpg and emailed.
  *
  * @AfterStep @javascript
  */
 public function takeScreenshotAfterFailedStep(Behat\Behat\Event\StepEvent $event)
 {
     if ($event->getResult() === Behat\Behat\Event\StepEvent::FAILED) {
         $html = $this->getSession()->getDriver()->getHtml('html');
         echo $html . PHP_EOL . PHP_EOL;
         $driver = $this->getSession()->getDriver();
         if ($driver instanceof Behat\Mink\Driver\Selenium2Driver) {
             $step = $event->getStep();
             $path = array('date' => date("Ymd-Hi"), 'feature' => $step->getParent()->getFeature()->getTitle(), 'scenario' => $step->getParent()->getTitle(), 'step' => $step->getType() . ' ' . $step->getText());
             $path = preg_replace('/[^\\-\\.\\w]/', '_', $path);
             $filename = '/tmp/behat/' . implode('/', $path) . '.jpg';
             $dir = dirname($filename);
             // Create directories if needed.
             if (!@is_dir($dir)) {
                 @mkdir($dir, 0775, TRUE);
             }
             file_put_contents($filename, $driver->getScreenshot());
         }
     }
 }