module Capybara::Screenshot::BrowserHelpers
Constants
- FIND_ACTIVE_ELEMENT_SCRIPT
- GET_BOUNDING_CLIENT_RECT_SCRIPT
- HIDE_CARET_SCRIPT
- IMAGE_WAIT_SCRIPT
Public Class Methods
all_visible_regions_for(selector)
click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 81 def self.all_visible_regions_for(selector) BrowserHelpers.session.all(selector, visible: true).map(&method(:region_for)) end
blur_from_focused_element()
click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 68 def self.blur_from_focused_element session.evaluate_script(FIND_ACTIVE_ELEMENT_SCRIPT) end
bounds_for_css(*css_selectors)
click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 25 def self.bounds_for_css(*css_selectors) css_selectors.reduce([]) do |regions, selector| regions.concat(all_visible_regions_for(selector)) end end
current_capybara_driver_class()
click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 97 def self.current_capybara_driver_class session.driver.class end
hide_caret()
click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 53 def self.hide_caret session.execute_script(HIDE_CARET_SCRIPT) end
pending_image_to_load()
click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 93 def self.pending_image_to_load BrowserHelpers.session.evaluate_script(IMAGE_WAIT_SCRIPT) end
region_for(element)
click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 85 def self.region_for(element) element.evaluate_script(GET_BOUNDING_CLIENT_RECT_SCRIPT).map { |point| point.negative? ? 0 : point.ceil.to_i } end
resize_to(window_size)
click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 8 def self.resize_to(window_size) if session.driver.respond_to?(:resize) session.driver.resize(*window_size) elsif BrowserHelpers.selenium? session.driver.browser.manage.window.resize_to(*window_size) end end
selenium?()
click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 16 def self.selenium? current_capybara_driver_class <= Capybara::Selenium::Driver end
session()
click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 89 def self.session Capybara.current_session end
window_size_is_wrong?(expected_window_size = nil)
click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 20 def self.window_size_is_wrong?(expected_window_size = nil) selenium? && expected_window_size && session.driver.browser.manage.window.size != ::Selenium::WebDriver::Dimension.new(*expected_window_size) end