Screenshot helper for system testing.


Instance Public methods


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.

# File actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb, line 36
def take_failed_screenshot
  take_screenshot if failed? && supports_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.

The screenshot will be displayed in your console, if supported.

You can set the RAILS_SYSTEM_TESTING_SCREENSHOT environment variable to control the output. Possible values are:

# File actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb, line 24
def take_screenshot
  puts display_image