module Standout::Capybara

Constants

VERSION

Public Class Methods

fallback_driver() click to toggle source
# File lib/standout/capybara.rb, line 41
def self.fallback_driver
  return :nanobox_chrome if nanobox?
  return :remote_chrome if hub_url?

  :headless_chrome
end
hub_url?() click to toggle source
# File lib/standout/capybara.rb, line 52
def self.hub_url?
  !ENV['HUB_URL'].nil?
end
nanobox?() click to toggle source
# File lib/standout/capybara.rb, line 48
def self.nanobox?
  `whoami`.chomp == 'gonano'
end
setup_driver() click to toggle source
# File lib/standout/capybara.rb, line 18
def self.setup_driver
  case (ENV['CAPYBARA'] || fallback_driver).to_sym
  when :chrome
    Standout::Capybara::Drivers::Chrome.register
    Standout::Capybara::Drivers::Chrome.use!
  when :nanobox_chrome
    Standout::Capybara::Drivers::NanoboxChrome.register
    Standout::Capybara::Drivers::NanoboxChrome.use!
  when :remote_chrome
    Standout::Capybara::Drivers::RemoteChrome.register
    Standout::Capybara::Drivers::RemoteChrome.use!
  else
    Standout::Capybara::Drivers::HeadlessChrome.register
    Standout::Capybara::Drivers::HeadlessChrome.use!
  end

  if ::Capybara.respond_to? :default_max_wait_time
    ::Capybara.default_max_wait_time = ENV.fetch('CAPYBARA_WAIT_TIME') { 30 }.to_i
  else
    ::Capybara.default_wait_time = ENV.fetch('CAPYBARA_WAIT_TIME') { 30 }.to_i
  end
end