# Capybara [Capybara](https://github.com/teamcapybara/capybara) is originally a test framework for web applications. When Capybara is in use, a remote browser process is available as a Capybara session: ```ruby Wayfarer.config.network.agent = :capybara # Wayfarer.config.capybara.driver = ... class DummyJob < Wayfarer::Worker route { to :index } def index browser # => # end end ``` ## Configuring a driver 1. Install the Capybara driver for the desired user agent. For example, to automate Google Chrome with [Ferrum](https://github.com/rubycdp/ferrum), install the [Cuprite](https://github.com/rubycdp/cuprite) driver: === "RubyGems" ```ruby gem install cuprite ``` === "Bundler" ```ruby gem "cuprite" # Gemfile ``` 2. Configure Wayfarer to use the `:capybara` user agent and set the desired driver: === "Runtime" ```ruby Wayfarer.config.network.agent = :capybara Wayfarer.config.capybara.driver = :cuprite ``` === "Environment variables" ```ruby WAYFARER_NETWORK_AGENT=capybara WAYFARER_CAPYBARA_DRIVER=cuprite ``` 3. Register the driver: ```ruby require "capybara/cuprite" Capybara.javascript_driver = :cuprite Capybara.register_driver(:cuprite) do |app| # Wayfarer's Ferrum or Selenium options can be passed along Capybara::Cuprite::Driver.new(app, Wayfarer.config.ferrum.options) end ```