Sha256: 42b6ecf1138ef5d586fe5a2458eb6d69de5e6525823dcd869b467f79eb8acd94
Contents?: true
Size: 1.96 KB
Versions: 4
Compression:
Stored size: 1.96 KB
Contents
# :testingbot driver def w3c_selenium_browserstack_caps # rubocop:disable Metrics/AbcSize caps = CapybaraHelpers.required_w3c_cloud_caps caps[:platformName] = Howitzer.cloud_platform unless Howitzer.cloud_platform.casecmp?('any') tb_options = { name: "#{(Howitzer.current_rake_task || 'ALL').upcase} #{Howitzer.cloud_browser_name}", maxduration: Howitzer.cloud_max_duration, idletimeout: Howitzer.cloud_testingbot_idle_timeout, screenshot: Howitzer.cloud_testingbot_screenshots } caps['tb:options'] = tb_options if Howitzer.user_agent.present? if CapybaraHelpers.chrome_browser? caps['goog:chromeOptions'] = { 'args' => ["--user-agent=#{Howitzer.user_agent}"] } elsif CapybaraHelpers.ff_browser? profile = Selenium::WebDriver::Firefox::Profile.new profile['general.useragent.override'] = Howitzer.user_agent caps['moz:firefoxOptions'] = { profile: profile.as_json['zip'] } end end caps end def classic_selenium_browserstack_caps caps = CapybaraHelpers.required_cloud_caps.merge( maxduration: Howitzer.cloud_max_duration, idletimeout: Howitzer.cloud_testingbot_idle_timeout, screenshot: Howitzer.cloud_testingbot_screenshots ) if Howitzer.user_agent.present? if CapybaraHelpers.chrome_browser? caps['chromeOptions'] = { 'args' => ["--user-agent=#{Howitzer.user_agent}"] } elsif CapybaraHelpers.ff_browser? profile = Selenium::WebDriver::Firefox::Profile.new profile['general.useragent.override'] = Howitzer.user_agent caps[:firefox_profile] = profile end end caps end Capybara.register_driver :testingbot do |app| url = "https://#{Howitzer.cloud_auth_login}:#{Howitzer.cloud_auth_pass}@hub.testingbot.com/wd/hub" caps = CapybaraHelpers.w3c_selenium? ? w3c_selenium_browserstack_caps : classic_selenium_browserstack_caps CapybaraHelpers.cloud_driver(app, caps, url) end Capybara::Screenshot.class_eval do register_driver :testingbot, ®istered_drivers[:selenium] end
Version data entries
4 entries across 4 versions & 1 rubygems