модуль ActionDispatch::SystemTesting::TestHelpers::ScreenshotHelper
Вспомогательный модуль для создания скриншотов при системном тестировании.
Публичные методы экземпляра
# File actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb, line 53 def take_failed_screenshot return unless failed? && supports_screenshot? && Capybara::Session.instance_created? take_screenshot metadata[:failure_screenshot_path] = relative_image_path if Minitest::Runnable.method_defined?(:metadata) end
Если тест завершился с ошибкой, делает скриншот текущей страницы в браузере.
take_failed_screenshot вызывается при очистке после системного теста.
# File actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb, line 41 def take_screenshot(html: false, screenshot: nil) showing_html = html || html_from_env? increment_unique save_html if showing_html save_image show display_image(html: showing_html, screenshot_output: screenshot) end
Делает скриншот текущей страницы в браузере.
take_screenshot можно использовать в любой момент системного теста, чтобы сделать скриншот текущего состояния. Это может быть полезно для отладки или автоматизации визуального тестирования. В рамках одного теста можно сделать несколько скриншотов, чтобы изучить изменения на разных его этапах. Им будут присвоены имена с последовательными префиксами (или префиксом «failed» для тестов, завершившихся с ошибкой).
По умолчанию скриншоты сохраняются в каталоге tmp/screenshots, но его можно изменить с помощью Capybara.save_path
Можно использовать аргумент html или задать переменную окружения RAILS_SYSTEM_TESTING_SCREENSHOT_HTML, чтобы сохранить HTML-код страницы, для которой делается скриншот, и изучить элементы страницы на момент его создания.
Можно использовать аргумент screenshot или задать переменную окружения RAILS_SYSTEM_TESTING_SCREENSHOT, чтобы управлять выводом. Возможные значения: simple (по умолчанию): отображается только путь к скриншоту. Это значение используется по умолчанию.
`inline`
: отображает скриншот в терминале с использованием протокола изображений iTerm (iterm2.com/documentation-images.html).
`artifact`
: отображает скриншот в терминале с использованием формата артефактов терминала (buildkite.github.io/terminal-to-html/inline-images/).
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.