Module: Browser
- Defined in:
- lib/utils/browser.rb
Overview
Created on 02 Aug 2018 @author: Andy Perrett
Versions: 1.0 - Baseline
browser_setup.rb - a browser functions
Class Method Summary collapse
-
.b ⇒ Object
define browser value.
-
.browser_full_screen ⇒ Object
makes the browser full screen.
-
.browser_version ⇒ Object
Check browser version.
-
.chrome ⇒ Object
chrome browser details.
-
.chrome_headless ⇒ Object
chrome headless browser details.
-
.firefox ⇒ Object
firefox browser details.
-
.firefox_headless ⇒ Object
firefox headless browser details.
-
.ie ⇒ Object
ie browser details.
-
.open_browser ⇒ Object
open_browser function.
-
.safari ⇒ Object
sarfari headless browser details.
Class Method Details
.b ⇒ Object
define browser value
103 104 105 |
# File 'lib/utils/browser.rb', line 103 def self.b @browser end |
.browser_full_screen ⇒ Object
makes the browser full screen.
95 96 97 98 99 100 |
# File 'lib/utils/browser.rb', line 95 def self.browser_full_screen screen_width = @browser.execute_script('return screen.width;') screen_height = @browser.execute_script('return screen.height;') @browser.driver.manage.window.resize_to(screen_width, screen_height) @browser.driver.manage.window.move_to(0, 0) end |
.browser_version ⇒ Object
Check browser version
108 109 110 111 112 |
# File 'lib/utils/browser.rb', line 108 def self.browser_version @browser.driver.capabilities[:version] rescue StandardError 'No Browser version' end |
.chrome ⇒ Object
chrome browser details
39 40 41 42 43 44 |
# File 'lib/utils/browser.rb', line 39 def self.chrome @browser = Watir::Browser.new :chrome, switches: %w[ --acceptInsecureCerts-true --start-maximized --window-size=1920,1080 ] browser_version end |
.chrome_headless ⇒ Object
chrome headless browser details
47 48 49 50 51 52 53 |
# File 'lib/utils/browser.rb', line 47 def self.chrome_headless @browser = Watir::Browser.new :chrome, switches: %w[ --start-maximized --disable-gpu --headless --acceptInsecureCerts-true --no-sandbox --window-size=1920,1080 ] browser_version end |
.firefox ⇒ Object
firefox browser details
56 57 58 59 60 61 62 63 |
# File 'lib/utils/browser.rb', line 56 def self.firefox caps = Selenium::WebDriver::Remote::Capabilities.firefox caps['acceptInsecureCerts'] = true driver = Selenium::WebDriver.for(:firefox, desired_capabilities: caps) @browser = Watir::Browser.new(driver) browser_full_screen browser_version end |
.firefox_headless ⇒ Object
firefox headless browser details
66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/utils/browser.rb', line 66 def self.firefox_headless caps = Selenium::WebDriver::Remote::Capabilities.firefox = Selenium::WebDriver::Firefox::Options.new(args: ['-headless']) caps['acceptInsecureCerts'] = true driver = Selenium::WebDriver.for(:firefox, options: , desired_capabilities: caps) @browser = Watir::Browser.new(driver) # makes the browser full screen. @browser.driver.manage.window.resize_to(1920, 1200) @browser.driver.manage.window.move_to(0, 0) browser_version # browser end |
.ie ⇒ Object
ie browser details
81 82 83 84 85 |
# File 'lib/utils/browser.rb', line 81 def self.ie @browser = Watir::Browser.new :ie browser_full_screen browser_version end |
.open_browser ⇒ Object
open_browser function
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/utils/browser.rb', line 11 def self.open_browser lc_browser_type = $browserType.downcase case lc_browser_type when 'chrome' chrome when 'chrome-headless' chrome_headless when 'firefox' firefox when 'firefox-headless' firefox_headless when 'ie' ie when 'safari' safari else MyLog.log.error "unable to open selected browser: #{lc_browser_type}" raise BrowserFailedOpen end rescue BrowserFailedOpen => e # construct the error message from custom text and the actual system error # message (converted to a string) error_text = 'Unable to open'\ "the requested browser: #{lc_browser_type} " + e.to_s raise error_text end |
.safari ⇒ Object
sarfari headless browser details
88 89 90 91 92 |
# File 'lib/utils/browser.rb', line 88 def self.safari @browser = Watir::Browser.new :safari browser_full_screen browser_version end |