Spec-Zone.ru › Ruby on Rails 8.1

модуль ActionDispatch::SystemTesting::TestHelpers::ScreenshotHelper

Вспомогательный модуль для создания скриншотов при системном тестировании.

Публичные методы экземпляра

take_failed_screenshot () Показать исходный код
# 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 вызывается при очистке после системного теста.

take_screenshot (html: false, screenshot: nil) Показать исходный код
# 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API