diff options
Diffstat (limited to 'test/support')
-rw-r--r-- | test/support/integration_test.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/support/integration_test.rb b/test/support/integration_test.rb new file mode 100644 index 0000000..afd10b8 --- /dev/null +++ b/test/support/integration_test.rb @@ -0,0 +1,23 @@ +require 'capybara' +module IntegrationTest + include Capybara::DSL + + def teardown + Capybara.reset_sessions! + Capybara.use_default_driver + end + + def after_teardown + if @passed.blank? + screenshot! + puts "Failed at: #{current_url}" + end + end + + def screenshot! + screenshot_dir = File.expand_path('../../tmp/', File.dirname(__FILE__)) + page.driver.render(File.join(screenshot_dir, "#{@__name__}.png"), :full => true) + source = page.evaluate_script("document.getElementsByTagName('html')[0].outerHTML") rescue nil + File.open(File.join(screenshot_dir, "#{@__name__}.html"), 'w') { |f| f.write(source) } if source + end +end
\ No newline at end of file |