DVLA::Browser::Drivers

DVLA-Browser-Drivers is a gem that has pre-configured browser drivers that you can use out-of-the-box for the development of your application.

Installation

Add this line to your application's Gemfile:

gem 'dvla-browser-drivers'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install dvla-browser-drivers

Usage

Once installed, you are able to use any pre-configured browser driver from the list below:

Selenium drivers

Driver Usage
selenium_chrome DVLA::Browser::Drivers.selenium_chrome
headless_selenium_chrome DVLA::Browser::Drivers.headless_selenium_chrome
selenium_edge DVLA::Browser::Drivers.selenium_edge
headless_selenium_edge DVLA::Browser::Drivers.headless_selenium_edge
selenium_firefox DVLA::Browser::Drivers.selenium_firefox
headless_selenium_firefox DVLA::Browser::Drivers.headless_selenium_firefox

Non-selenium drivers

Driver Usage
cuprite DVLA::Browser::Drivers.cuprite
headless_cuprite DVLA::Browser::Drivers.headless_cuprite
apparition DVLA::Browser::Drivers.apparition
headless_apparition DVLA::Browser::Drivers.headless_apparition

Default configuration

Driver Configuration
selenium_chrome, selenium_edge, selenium_firefox --disable-dev-shm-usage
headless_ --headless
--no-sandbox
cuprite, apparition { 'no-sandbox': nil, disable-smooth-scrolling: true }

Additional configuration

Option Description supported-browsers
remote: 'http://localhost:4444/wd/hub' Allows you to talk to a remote browser firefox
additional_arguments: ['window-size=1400,1920'] Pass additional arguments to the driver
Supported switches: https://peter.sh/experiments/chromium-command-line-switches/
chrome, edge, firefox
additional_preferences: [''] Pass additional preferences to the driver
Documentation: https://www.selenium.dev/selenium/docs/api/rb/Selenium/WebDriver/Chromium/Options.html#add_preference-instance_method
chrome, edge, firefox
additional_arguments: { 'option': value, 'option': value } Pass additional arguments to the driver
Supported switched: https://www.rubydoc.info/gems/cuprite/
cuprite, apparition

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.