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.
-
.open_browser ⇒ Object
open_browser function.
Class Method Details
.b ⇒ Object
define browser value
82 83 84 |
# File 'lib/utils/browser.rb', line 82 def self.b @browser end |
.browser_full_screen ⇒ Object
makes the browser full screen.
74 75 76 77 78 79 |
# File 'lib/utils/browser.rb', line 74 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
87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/utils/browser.rb', line 87 def self.browser_version browser_name = CMDLine.browser_type.downcase case browser_name when 'chrome', 'chrome-headless' @browser.driver.capabilities[:version] when 'firefox', 'firefox-headless' @browser.execute_script('return navigator.userAgent;').split('/')[-1] end rescue StandardError 'No Browser version' end |
.chrome ⇒ Object
chrome browser details
37 38 39 40 41 |
# File 'lib/utils/browser.rb', line 37 def self.chrome @browser = Watir::Browser.new :chrome, switches: %w[ --acceptInsecureCerts-true --start-maximized --window-size=1920,1080 ] end |
.chrome_headless ⇒ Object
chrome headless browser details
44 45 46 47 48 49 |
# File 'lib/utils/browser.rb', line 44 def self.chrome_headless @browser = Watir::Browser.new :chrome, switches: %w[ --start-maximized --disable-gpu --headless --acceptInsecureCerts-true --no-sandbox --window-size=1920,1080 ] end |
.firefox ⇒ Object
firefox browser details
52 53 54 55 56 57 58 |
# File 'lib/utils/browser.rb', line 52 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 end |
.firefox_headless ⇒ Object
firefox headless browser details
61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/utils/browser.rb', line 61 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) end |
.open_browser ⇒ Object
open_browser function
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/utils/browser.rb', line 13 def self.open_browser lc_browser_type = CMDLine.browser_type.downcase case lc_browser_type when 'chrome' chrome when 'chrome-headless' chrome_headless when 'firefox' firefox when 'firefox-headless' firefox_headless 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 |