Module: TestCentricity::WebDriverConnect

Includes:
Capybara::DSL
Defined in:
lib/testcentricity_web/webdriver_helper.rb

Class Method Summary collapse

Class Method Details

.initialize_web_driver(app_host = nil) ⇒ Object



8
9
10
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/testcentricity_web/webdriver_helper.rb', line 8

def self.initialize_web_driver(app_host = nil)
  Capybara.app_host = app_host unless app_host.nil?
  browser = ENV['WEB_BROWSER']

  # assume that we're testing within a local desktop web browser
  Environ.set_platform(:desktop)
  Environ.set_browser(browser)
  Environ.set_device(false)
  Environ.set_device_type('browser')

  case browser.downcase.to_sym
    when :appium
      initialize_appium
      context = 'mobile device emulator'
    when :browserstack
      initialize_browserstack
      context = 'Browserstack cloud service'
    when :crossbrowser
      initialize_crossbrowser
      context = 'CrossBrowserTesting cloud service'
    when :poltergeist
      initialize_poltergeist
      context = 'PhantomJS'
    when :saucelabs
      initialize_saucelabs
      context = 'Sauce Labs cloud service'
    when :testingbot
      initialize_testingbot
      context = 'TestingBot cloud service'
    else
      if ENV["SELENIUM"] == 'remote'
        initialize_remote
        context = 'Selenium Grid2'
      else
        initialize_local_browser
        context = 'local instance'
      end
  end

  # set browser window size only if testing with a desktop web browser
  initialize_browser_size unless Capybara.current_driver == :poltergeist || Capybara.current_driver == :appium

  puts "Using #{Environ.browser.to_s} browser via #{context}"
end

.set_domain(url) ⇒ Object



53
54
55
# File 'lib/testcentricity_web/webdriver_helper.rb', line 53

def self.set_domain(url)
  Capybara.app_host = url
end