理想情况下,还可以在图像查看器中自动打开屏幕截图。
答案 0 :(得分:17)
修改:感谢主教提供有关打开应用的提示。但是仍不确定如何使用Windows。
/**
* This works for Selenium and other real browsers that support screenshots.
*
* @Then /^show me a screenshot$/
*/
public function show_me_a_screenshot() {
$image_data = $this->getSession()->getDriver()->getScreenshot();
$file_and_path = '/tmp/behat_screenshot.jpg';
file_put_contents($file_and_path, $image_data);
if (PHP_OS === "Darwin" && PHP_SAPI === "cli") {
exec('open -a "Preview.app" ' . $file_and_path);
}
}
/**
* This works for the Goutte driver and I assume other HTML-only ones.
*
* @Then /^show me the HTML page$/
*/
public function show_me_the_html_page_in_the_browser() {
$html_data = $this->getSession()->getDriver()->getContent();
$file_and_path = '/tmp/behat_page.html';
file_put_contents($file_and_path, $html_data);
if (PHP_OS === "Darwin" && PHP_SAPI === "cli") {
exec('open -a "Safari.app" ' . $file_and_path);
};
}
答案 1 :(得分:0)
您可以在https://github.com/forceedge01/behat-fail-aid处使用此软件包。这将为您提供有关失败的屏幕截图以及更多内容。它将所有详细信息注入到现有的异常消息中,因此可以像通常的behat失败消息一样将其完美地放置在失败下面。最重要的是,您无需编写和维护任何代码,而且它可以与javascript和非javascript驱动程序一起使用!输出结果如下:
您所要做的就是通过composer安装软件包
$作曲家需要创世纪/ behat-fail-aid --dev
并将上下文添加到您的behat.yml文件中
behat.yml
default: suites: default: contexts: - FailAid\Context\FailureContext extensions: FailAid\Extension: ~
您还可以使用此软件包执行其他操作,但这可以解决您的问题,测试愉快!