CheckOps home

Tools directory

F

CheckOps

Ferrum

Ferrum is an MIT-licensed Ruby library that controls Chrome directly through the Chrome DevTools Protocol, with no Selenium or ChromeDriver dependency.

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

Ferrum is a clean, high-level Ruby API for Chrome. It runs headless by default and can run headful. It connects to the browser over CDP, and the README stresses that there is no Selenium, WebDriver or ChromeDriver dependency; all you need is Ruby and Chrome or Chromium.

The API covers navigation, finding nodes, clicking and typing, evaluating JavaScript, screenshots and PDFs, network traffic inspection and interception, cookies, headers and proxies. Ferrum also provides Docker images and a container mode for running Chrome in CI.

Ferrum is the foundation of Cuprite, a Capybara driver, and the Vessel crawling framework. Ruby teams use it directly for scripted checks or indirectly through Cuprite in Rails system tests.

In the quality loop it supports end-to-end and integration checks in Ruby projects.

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

Features

  1. Pure CDP: No WebDriver layer.
  2. Network control: Inspect, intercept and mock requests.
  3. Screenshots and PDFs: Capture pages in tests.
  4. JavaScript evaluation: Run scripts in the page.
  5. Docker support: Images and container mode for CI.

Pros

  1. Fast and lightweight: Avoids the overhead of WebDriver.
  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 Firefox or Safari.
  2. Library, not framework: Assertions and test structure come from RSpec or Minitest.
require "ferrum"
browser = Ferrum::Browser.new
browser.go_to("https://example.com")
raise "bad title" unless browser.title == "Example Domain"
browser.quit

Resources:

Pricing

Ferrum is free and open source under the MIT licence.

  1. Ruby teams wanting direct Chrome control.
  2. Foundation for Cuprite-based Rails system tests.
  3. Not a fit for cross-browser testing.

Conclusion

Ferrum is a well-maintained, dependency-light way to drive Chrome from Ruby.

On CheckOps, Ferrum is filed under the End-to-end & functional stage. Related tools listed here include Cuprite, Capybara, Watir, chromedp, Puppeteer 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.

Compare

CheckOps pages that put Ferrum next to related tools. There is no paid placement on these lists.

Alternatives

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