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

Class Method Details

.bObject

define browser value



103
104
105
# File 'lib/utils/browser.rb', line 103

def self.b
  @browser
end

.browser_full_screenObject

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_versionObject

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

.chromeObject

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_headlessObject

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

.firefoxObject

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_headlessObject

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
  options = Selenium::WebDriver::Firefox::Options.new(args: ['-headless'])
  caps['acceptInsecureCerts'] = true
  driver = Selenium::WebDriver.for(:firefox, options: 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

.ieObject

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_browserObject

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

.safariObject

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