require 'selenium-webdriver' require 'rutl/interface/base_interface' # # Small interface for Chrome browser. # # TODO: Probably the current_page() implementation should move up to base. # class ChromeInterface < BaseInterface def initialize(pages:) @logged_in = true options = Selenium::WebDriver::Chrome::Options.new options.add_argument('--ignore-certificate-errors') options.add_argument('--disable-popup-blocking') options.add_argument('--disable-translate') # Run headless on TravisCI if 'true' == ENV['TRAVIS'] options.add_argument('--disable-gpu') options.add_argument('--headless ') options.add_argument('--no-sandbox') end @driver = Selenium::WebDriver.for :chrome, options: options super end def current_page url = @driver.current_url page = find_page(url, true) raise "PAGE NOT FOUND: #{url}, PAGES: #{@pages}" unless page page end end