X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3ba5aa15ea0156a4fce63dcb43b7f972b4c760df..49b58cc43218106f1633c389598894d59447a26b:/apps/workbench/test/integration_helper.rb diff --git a/apps/workbench/test/integration_helper.rb b/apps/workbench/test/integration_helper.rb index 93455ee782..febcfcfec0 100644 --- a/apps/workbench/test/integration_helper.rb +++ b/apps/workbench/test/integration_helper.rb @@ -25,11 +25,6 @@ class ActionDispatch::IntegrationTest @@API_AUTHS = self.api_fixture('api_client_authorizations') - def setup - reset_session! - super - end - def page_with_token(token, path='/') # Generate a page path with an embedded API token. # Typical usage: visit page_with_token('token_name', page) @@ -53,4 +48,27 @@ class ActionDispatch::IntegrationTest false end end + + @@screenshot_count = 1 + def screenshot + image_file = "./tmp/workbench-fail-#{@@screenshot_count}.png" + begin + page.save_screenshot image_file + rescue Capybara::NotSupportedByDriverError + # C'est la vie. + else + puts "Saved #{image_file}" + @@screenshot_count += 1 + end + end + + teardown do + if not passed? + screenshot + end + if Capybara.current_driver == :selenium + page.execute_script("window.localStorage.clear()") + end + Capybara.reset_sessions! + end end