module EvilSystems::RegisterCuprite
Cuprite is a modern Capybara driver which uses Chrome CDP API instead of Selenium & co. See github.com/rubycdp/cuprite
Public Class Methods
initial_setup()
click to toggle source
Registers the Cuprite driver. Can be used via: driven_by :cuprite, using: :chrome, screen_size: [1400, 1400] The initial setup prior to the class ApplicationSystemTestCase, runs before the entire test suite. @return [void]
# File lib/evil_systems/register_cuprite.rb, line 12 def self.initial_setup return unless defined? Capybara::Cuprite begin process_timeout = Integer(ENV.fetch("PROCESS_TIMEOUT", 5)) rescue process_timeout = 5 end remote_options = RemoteChrome.options ::Capybara.register_driver(:cuprite) do |app| ::Capybara::Cuprite::Driver.new( app, **{ window_size: [1200, 800], browser_options: RemoteChrome.connected? ? {"no-sandbox" => nil} : {}, headless: ENV.fetch("CI", "true") == "true", process_timeout: process_timeout, inspector: true }.merge(remote_options) ) end end