Добавьте после шага хука , который может с этим справиться.
Затем на крючке вы просто делаете скриншот.
Найден фрагмент кода здесь, который может вам помочь.
/**
* @AfterStep
*/
public function takeScreenshotAfterFailedStep(AfterStepScope $scope)
{
if (TestResult::FAILED === $scope->getTestResult()->getResultCode()) {
$driver = $this->minkContext->getSession()->getDriver();
if (!$driver instanceof Behat\Mink\Driver\Selenium2Driver) {
return;
}
$page = $this->minkContext->getSession()->getPage()->getContent();
$screenshot = $driver->getScreenshot();
$screenshotFileName = date('d-m-y').'-'.uniqid().'.png';
$pageFileName = date('d-m-y').'-'.uniqid().'.html';
// NOTE: hardcoded path:
$filePath = "/var/www/symfony.dev/";
file_put_contents($filePath.$screenshotFileName, $screenshot);
file_put_contents($filePath.$pageFileName, $page);
print 'Screenshot at: '.$filePath.$screenshotFileName."\n";
print 'HTML dump at: '.$filePath.$pageFileName."\n";
}
}