mirror of
https://github.com/Freika/dawarich.git
synced 2026-01-10 17:21:38 -05:00
43 lines
1.3 KiB
Ruby
43 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'capybara/rails'
|
|
require 'capybara/rspec'
|
|
require 'selenium-webdriver'
|
|
|
|
# Configure Capybara timeouts to be more lenient in CI environments
|
|
Capybara.default_max_wait_time = ENV['CI'] ? 15 : 5
|
|
Capybara.server = :puma, { Silent: true }
|
|
|
|
# For debugging in CI
|
|
if ENV['CI']
|
|
Capybara.register_driver :selenium_chrome_headless do |app|
|
|
browser_options = ::Selenium::WebDriver::Chrome::Options.new
|
|
browser_options.add_argument('--headless')
|
|
browser_options.add_argument('--no-sandbox')
|
|
browser_options.add_argument('--disable-dev-shm-usage')
|
|
browser_options.add_argument('--disable-gpu')
|
|
browser_options.add_argument('--window-size=1400,1400')
|
|
|
|
Capybara::Selenium::Driver.new(
|
|
app,
|
|
browser: :chrome,
|
|
options: browser_options
|
|
)
|
|
end
|
|
end
|
|
|
|
# Allow for selenium remote driver based on environment variables
|
|
Capybara.register_driver :selenium_remote_chrome do |app|
|
|
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
|
|
'goog:chromeOptions' => {
|
|
'args' => %w[headless no-sandbox disable-dev-shm-usage disable-gpu window-size=1400,1400]
|
|
}
|
|
)
|
|
|
|
Capybara::Selenium::Driver.new(
|
|
app,
|
|
browser: :remote,
|
|
url: 'http://chrome:4444/wd/hub',
|
|
capabilities: capabilities
|
|
)
|
|
end
|