env.rb

require 'rubygems'
require 'capybara'
require 'capybara/dsl'
require 'rspec'
require 'capybara-screenshot'
require 'httparty'
require 'json'
require 'net/http'
require 'uri'
require 'selenium-webdriver'
require 'pdf-reader'
require 'open-uri'
require 'parallel'
Capybara.run_server = false

#Set up Chrome options
chrome_options = Selenium::WebDriver::Chrome::Options.new

if ENV['HEADLESS'] == 'true'
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--window-size=2560,1440')
end
chrome_options.add_argument('--incognito')
chrome_options.add_argument('--start-maximized')
chrome_options.add_argument('--disable-extensions')
chrome_options.add_argument('--disable-popup-blocking')
chrome_options.add_argument('--disable-infobars')
Capybara.register_driver :selenium do |app|
    Capybara::Selenium::Driver.new(app, :browser => :chrome, options: chrome_options)
end

client = Selenium::WebDriver::Remote::Http::Default.new
client.read_timeout = 120

#Set default driver as Selenium
Capybara.default_driver = :selenium
#Set default selector as css
Capybara.default_selector = :css
#Set default domain
Capybara.app_host = 'https://example.com'
#Implicit selector for data-testid
Capybara.configure do |config|
    config.test_id = 'data-testid'
end