系统测试的截图助手。
方法
实例公有方法
take_failed_screenshot() 链接
如果测试失败,则对浏览器中的当前页面进行截图。
take_failed_screenshot
在系统测试拆卸期间被调用。
来源:显示 | 在 GitHub 上
# 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_screenshot(html: false, screenshot: nil) 链接
对浏览器中的当前页面进行截图。
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/)。
来源:显示 | 在 GitHub 上
# 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