Capybara屏幕截图在步骤失败时不拍摄快照。我使用下面的代码:
Capybara.save_and_open_page_path = "/file/path"
Capybara::Screenshot.register_filename_prefix_formatter(:rspec) do |example|
"screenshot_#{example.description.gsub(' ', '-').gsub(/^.*\/spec\//,'')}"
end
我看到它在整个场景结束后会截屏,但不会在步骤失败。当步骤失败时,我想要截图...请帮助
答案 0 :(得分:0)
您可以使用after
挂钩来执行此操作。 https://www.relishapp.com/rspec/rspec-core/v/2-2/docs/hooks/before-and-after-hooks
如上所述,即使示例失败也会执行钩子
答案 1 :(得分:0)
在你的spec_helper中,你可以设置你的钩子来做这样的事情:
RSpec.configure do |config|
config.after(:each) do |example|
if example.exception
file_name = 'failed_%s.png' % rand(1000).to_s # name your screenshot whatever you'd like
page.save_screenshot(file_name)
end
end
end