Sha256: c412d16c6a0023e8e26155f49cdfdf77d3bbe88e301ebcd7e0c422f1f6a7870a

Contents?: true

Size: 1.53 KB

Versions: 2

Compression:

Stored size: 1.53 KB

Contents

# frozen_string_literal: true

require 'rspeckled/plugins/extensions/selenium/drivers/chrome'
require 'rspeckled/plugins/extensions/selenium/drivers/firefox'

# Configure Server

::Capybara.register_server :puma do |app, _port, _host|
  require 'rack/handler/puma'

  host = (defined?(::Chamber) && ::Chamber.env.http.url_components.host) ||
         ENV['HOST']                                                     ||
         'lvh.me'
  port = (defined?(::Chamber) && ::Chamber.env.http.url_components.port) ||
         ENV['PORT']                                                     ||
         '3000'

  ::Rack::Handler::Puma.run(app,
                            Host:    host,
                            Port:    port,
                            Threads: '0:1',
                            Silent:  true)
end

::Capybara.server = :puma

# Configure Browser Drivers

downloads_directory = "#{Dir.pwd}/tmp/downloads/"
chrome_driver       = ::Rspeckled::Selenium::Drivers::Chrome
                        .new(downloads_directory: downloads_directory)
firefox_driver      = ::Rspeckled::Selenium::Drivers::Firefox
                        .new(downloads_directory: downloads_directory)

::Capybara.register_driver(:chrome)           { |app| chrome_driver.driver(app) }
::Capybara.register_driver(:headless_chrome)  { |app| chrome_driver.headless(app) }
::Capybara.register_driver(:firefox)          { |app| firefox_driver.driver(app) }
::Capybara.register_driver(:headless_firefox) { |app| firefox_driver.headless(app) }

::Capybara.javascript_driver = :headless_chrome

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rspeckled-2.1.1 lib/rspeckled/plugins/extensions/capybara.rb
rspeckled-2.1.0 lib/rspeckled/plugins/extensions/capybara.rb