diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 75aa82e..f17ef0b 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -21,9 +21,9 @@ jobs: - macos ruby: - - "2.7" - - "3.0" - "3.1" + - "3.2" + - "3.3" experimental: [false] diff --git a/falcon-capybara.gemspec b/falcon-capybara.gemspec index 6d1fccc..729d3ae 100644 --- a/falcon-capybara.gemspec +++ b/falcon-capybara.gemspec @@ -17,15 +17,14 @@ Gem::Specification.new do |spec| spec.files = Dir.glob(['{lib}/**/*', '*.md'], File::FNM_DOTMATCH, base: __dir__) - spec.required_ruby_version = ">= 2.5" + spec.required_ruby_version = ">= 3.1" spec.add_dependency "capybara", "~> 3.37" - spec.add_dependency "falcon", "~> 0.34" + spec.add_dependency "falcon" spec.add_dependency "selenium-webdriver" spec.add_development_dependency "bake" spec.add_development_dependency "bundler" spec.add_development_dependency "covered" - spec.add_development_dependency "rspec", "~> 3.0" - spec.add_development_dependency "webdrivers", "~> 4.0" + spec.add_development_dependency "rspec" end diff --git a/lib/falcon/capybara/drivers.rb b/lib/falcon/capybara/drivers.rb index c2f8c23..55694e3 100644 --- a/lib/falcon/capybara/drivers.rb +++ b/lib/falcon/capybara/drivers.rb @@ -10,11 +10,12 @@ # @name selenium_chrome_https # @attribute [Block] Capybara.register_driver :selenium_chrome_https do |app| - require 'selenium/webdriver' - - Capybara.drivers[:selenium_chrome].call(app).tap do |driver| - driver.options[:capabilities].args << '--allow-insecure-localhost' - end + chrome_options = Selenium::WebDriver::Chrome::Options.new + chrome_options.add_argument('--allow-insecure-localhost') + chrome_options.add_argument('--ignore-certificate-errors') + Capybara::Selenium::Driver.new(app, + browser: :chrome, + options: chrome_options) end # A headless selenium driver for chrome which allows insecure localhost https protocol. @@ -22,9 +23,11 @@ # @name selenium_chrome_headless_https # @attribute [Block] Capybara.register_driver :selenium_chrome_headless_https do |app| - require 'selenium/webdriver' - - Capybara.drivers[:selenium_chrome_headless].call(app).tap do |driver| - driver.options[:capabilities].args << '--allow-insecure-localhost' - end + chrome_options = Selenium::WebDriver::Chrome::Options.new + chrome_options.add_argument('--allow-insecure-localhost') + chrome_options.add_argument('--ignore-certificate-errors') + chrome_options.add_argument('--headless=true') + Capybara::Selenium::Driver.new(app, + browser: :chrome, + options: chrome_options) end diff --git a/lib/falcon/capybara/wrapper.rb b/lib/falcon/capybara/wrapper.rb index 11602f5..45468cd 100644 --- a/lib/falcon/capybara/wrapper.rb +++ b/lib/falcon/capybara/wrapper.rb @@ -9,7 +9,6 @@ require 'async' require 'falcon/endpoint' -require 'async/io/notification' module Falcon module Capybara diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 7267d83..e829fd5 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -10,7 +10,6 @@ require "falcon/capybara" -require "webdrivers" require "selenium/webdriver" require "capybara/rspec"