The project is in a healthy, maintained state
Browser-drivers has pre-configured web-browser drivers that can be used out-of-the-box for the development of UI based applications. It is built using Ruby and utilises the Capybara library (A web application testing platform) to simulate how a user interacts with the applications being tested. It also has the facility to run Cuprite, which is a pure Ruby driver utilising Ferrum, a high level API to run headless tests.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

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: [{'download.default_directory': '<download_path>'}] 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.