在使用Ruby / Capybara / Cucumber / Selenium进行的自动测试中,有必要在测试的某些步骤失败时执行以下步骤: -拍摄浏览器截图 -Stacktrace取出的图像 -执行下一个场景。
知道如何帮助我解决这个问题吗?
今天,系统将屏幕截图作为方案成功的证据,但是现在,我想在执行下一步或方案之后,在不干扰我所有测试执行的情况下拍摄失败的屏幕截图。
当前用作拍摄屏幕快照的示例代码:
事后|场景|
屏幕快照=“日志/屏幕快照/#{scenario.name} .png”
page.save_screenshot(屏幕截图)
嵌入(屏幕截图,“图片/ png”,“屏幕证据”)
结束
答案 0 :(得分:0)
这应该为您创建屏幕快照。
config.after(:each) do |example|
if example.exception
screenshot = "log / screenshots / # {scenario.name} .png"
page.save_screenshot(屏幕截图) 嵌入(屏幕截图,“图片/ png”,“ Screen_Evidence”) 结束 结束
您可能希望将其限制为仅用于功能测试,并且可以选择将现有的屏幕截图代码重构为相同的功能。
答案 1 :(得分:0)
尝试这种方式。
chmod +x