Module: TestCentricity::Browsers
- Includes:
- Capybara::DSL
- Defined in:
- lib/testcentricity_web/browser_helper.rb
Class Method Summary collapse
- .browser_size(browser, orientation) ⇒ Object
- .close_all_browser_instances ⇒ Object
- .close_current_browser_instance ⇒ Object
- .close_named_browser_instance(name) ⇒ Object
- .close_old_browser_instance ⇒ Object
- .delete_all_cookies ⇒ Object
-
.maximize_browser ⇒ Object
Maximizes the selenium browser window.
- .mobile_device_agent(device) ⇒ Object
-
.refresh_browser ⇒ Object
Refreshes the selenium browser.
-
.set_browser_window_size(resolution) ⇒ Object
Sets the size of the browser window.
- .switch_to_new_browser_instance ⇒ Object
Class Method Details
.browser_size(browser, orientation) ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/testcentricity_web/browser_helper.rb', line 82 def self.browser_size(browser, orientation) key = browser.gsub(/\s+/, "").downcase.to_sym sizes = device_sizes browser_data = sizes[key] if browser_data width = browser_data[0] height = browser_data[1] default_orientation = browser_data[2] if orientation (orientation.downcase.to_sym == default_orientation) ? size = [width, height] : size = [height, width] else size = [width, height] end else size = [1900, 1000] end size end |
.close_all_browser_instances ⇒ Object
39 40 41 42 43 44 |
# File 'lib/testcentricity_web/browser_helper.rb', line 39 def self.close_all_browser_instances Capybara.page.driver.browser.window_handles.each do |handle| page.driver.browser.switch_to.window(handle) page.driver.browser.close end end |
.close_current_browser_instance ⇒ Object
46 47 48 49 |
# File 'lib/testcentricity_web/browser_helper.rb', line 46 def self.close_current_browser_instance Capybara.page.driver.browser.close Capybara.page.driver.browser.switch_to.window(Capybara.page.driver.browser.window_handles.last) end |
.close_named_browser_instance(name) ⇒ Object
57 58 59 60 61 |
# File 'lib/testcentricity_web/browser_helper.rb', line 57 def self.close_named_browser_instance(name) Capybara.page.driver.browser.switch_to.window(Capybara.page.driver.find_window(name)) Capybara.page.driver.browser.close Capybara.page.driver.browser.switch_to.window(Capybara.page.driver.browser.window_handles.last) end |
.close_old_browser_instance ⇒ Object
51 52 53 54 55 |
# File 'lib/testcentricity_web/browser_helper.rb', line 51 def self.close_old_browser_instance Capybara.page.driver.browser.switch_to.window(Capybara.page.driver.browser.window_handles.first) Capybara.page.driver.browser.close Capybara.page.driver.browser.switch_to.window(Capybara.page.driver.browser.window_handles.last) end |
.delete_all_cookies ⇒ Object
63 64 65 66 67 68 69 70 71 72 |
# File 'lib/testcentricity_web/browser_helper.rb', line 63 def self. if Capybara.current_driver == :selenium browser = Capybara.current_session.driver.browser if browser.respond_to?(:manage) and browser.manage.respond_to?(:delete_all_cookies) browser.manage. else raise 'Could not clear cookies.' end end end |
.maximize_browser ⇒ Object
Maximizes the selenium browser window.
21 22 23 24 |
# File 'lib/testcentricity_web/browser_helper.rb', line 21 def self.maximize_browser window = Capybara.current_session.driver.browser.manage.window window.maximize end |
.mobile_device_agent(device) ⇒ Object
74 75 76 77 78 79 80 |
# File 'lib/testcentricity_web/browser_helper.rb', line 74 def self.mobile_device_agent(device) key = device.gsub(/\s+/, "").downcase.to_sym devices = device_agents agent_string = devices[key] raise "Device '#{device}' is not defined" unless agent_string agent_string end |
.refresh_browser ⇒ Object
Refreshes the selenium browser.
31 32 33 |
# File 'lib/testcentricity_web/browser_helper.rb', line 31 def self.refresh_browser Capybara.page.driver.browser.navigate.refresh end |
.set_browser_window_size(resolution) ⇒ Object
Sets the size of the browser window.
11 12 13 14 |
# File 'lib/testcentricity_web/browser_helper.rb', line 11 def self.set_browser_window_size(resolution) window = Capybara.current_session.driver.browser.manage.window window.resize_to(resolution[0], resolution[1]) end |
.switch_to_new_browser_instance ⇒ Object
35 36 37 |
# File 'lib/testcentricity_web/browser_helper.rb', line 35 def self.switch_to_new_browser_instance Capybara.page.driver.browser.switch_to.window(page.driver.browser.window_handles.last) end |