Example #1
0
 /**
  * @AfterStep
  */
 public function failScreenshots(AfterStepScope $scope)
 {
     if (!$scope->getTestResult()->isPassed()) {
         $makeScreenshot = false;
         $suiteName = urlencode(str_replace(' ', '_', $scope->getSuite()->getName()));
         $featureName = urlencode(str_replace(' ', '_', $scope->getFeature()->getTitle()));
         if ($background = $this->getBackground($scope)) {
             $makeScreenshot = $scope->getFeature()->hasTag('javascript');
             $scenarioName = 'background';
         } else {
             $scenario = $this->getScenario($scope);
             $makeScreenshot = $scope->getFeature()->hasTag('javascript') || $scenario->hasTag('javascript');
             $scenarioName = urlencode(str_replace(' ', '_', $scenario->getTitle()));
         }
         if ($makeScreenshot) {
             $filename = sprintf('fail_%s_%s_%s.png', time(), $suiteName, $featureName, $scenarioName);
             $this->saveScreenshot($filename, $this->screenshotDir);
         }
     }
 }