CheckOps home

Tools directory

C

CheckOps

Cuprite

Cuprite is an MIT-licensed, pure-Ruby Capybara driver that runs Rails and Rack system tests on headless Chrome through Ferrum, without Selenium or ChromeDriver.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

Cuprite is a driver for Capybara, the browser testing DSL used in Rails system tests. Instead of Selenium and ChromeDriver, it uses Ferrum to talk to headless Chrome or Chromium over CDP, which many teams find faster and less flaky.

Swapping it in is a configuration change: register Capybara::Cuprite::Driver and set it as the JavaScript driver, and your existing visit, click_on and expect(page).to have_content tests keep working. Through page.driver.browser you also get a Ferrum::Browser for network inspection, header changes and other CDP features.

The README documents a container mode (dockerize: true, requiring Ferrum 0.17.2 or newer) for when Chrome cannot use its sandbox, while advising to prefer running the browser as a non-root user.

In the quality loop it covers system and end-to-end tests for Ruby web apps.

The source code is at rubycdp/cuprite on GitHub under the MIT licence, with about 1,400 stars; the most recent commit was on 8 November 2026.

Features

  1. Capybara driver: Drop-in for existing system tests.
  2. CDP via Ferrum: No WebDriver.
  3. Network helpers: Inspect traffic, block URLs and set headers.
  4. Container mode: Option to run Chrome inside Docker.
  5. Debugging: Pause and inspect the browser during a test.

Pros

  1. Faster Rails system tests: Removes ChromeDriver from the stack.
  2. Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
  3. Actively maintained: The repository had commits as recent as 8 November 2026.

Cons

  1. Chrome only: No cross-browser runs.
  2. Selenium-specific code: Calls like manage behave differently and may need rewriting.
# spec/support/cuprite.rb
require "capybara/cuprite"
Capybara.register_driver(:cuprite) { |app| Capybara::Cuprite::Driver.new(app, window_size: [1200, 800]) }
Capybara.javascript_driver = :cuprite

Resources:

Pricing

Cuprite is free and open source under the MIT licence.

  1. Rails teams running system tests on Chrome.
  2. Not a fit when Firefox or Safari coverage is required.

Conclusion

Cuprite is a popular, actively maintained way to make Capybara system tests faster and simpler.

On CheckOps, Cuprite is filed under the End-to-end & functional and Integration testing stages. Related tools listed here include Capybara, Ferrum, Watir, RSpec, Selenium and Playwright. Before choosing, compare them on licence, supported languages and platforms, hosting model, and how well each fits your existing CI pipeline. Facts on this page were checked against the official website, documentation and repository on 11 November 2026; statements the vendor makes about its own product are marked as vendor claims.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with Cuprite side by side.