Screenshot helper for system testing.
Methods
Instance Public methods
take_failed_screenshot()
Takes a screenshot of the current page in the browser if the test failed.
take_failed_screenshot
is included in application_system_test_case.rb
that is generated with the application. To take screenshots when a test fails add take_failed_screenshot
to the teardown block before clearing sessions.
📝 Source code
# File actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb, line 44
def take_failed_screenshot
take_screenshot if failed? && supports_screenshot?
end
🔎 See on GitHub
take_screenshot()
Takes a screenshot of the current page in the browser.
take_screenshot
can be used at any point in your system tests to take a screenshot of the current state. This can be useful for debugging or automating visual testing. You can take multiple screenshots per test to investigate changes at different points during your test. These will be named with a sequential prefix (or 'failed' for failing tests)
The screenshot will be displayed in your console, if supported.
You can set the RAILS_SYSTEM_TESTING_SCREENSHOT_HTML
environment variable to save the HTML from the page that is being screenhoted so you can investigate the elements on the page at the time of the screenshot
You can set the RAILS_SYSTEM_TESTING_SCREENSHOT
environment variable to control the output. Possible values are:
simple
(default)-
Only displays the screenshot path. This is the default value.
inline
-
Display the screenshot in the terminal using the iTerm image protocol (iterm2.com/documentation-images.html).
artifact
-
Display the screenshot in the terminal, using the terminal artifact format (buildkite.github.io/terminal-to-html/inline-images/).
📝 Source code
# File actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb, line 30
def take_screenshot
increment_unique
save_html if save_html?
save_image
puts display_image
end
🔎 See on GitHub