CheckOps
Ferrum
Ferrum is an MIT-licensed Ruby library that controls Chrome directly through the Chrome DevTools Protocol, with no Selenium or ChromeDriver dependency.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
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
- Pure CDP: No WebDriver layer.
- Network control: Inspect, intercept and mock requests.
- Screenshots and PDFs: Capture pages in tests.
- JavaScript evaluation: Run scripts in the page.
- Docker support: Images and container mode for CI.
Pros
- Fast and lightweight: Avoids the overhead of WebDriver.
- Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 8 November 2026.
Cons
- Chrome only: No Firefox or Safari.
- Library, not framework: Assertions and test structure come from RSpec or Minitest.
Usage and Links (Example)
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.
Recommended for?
- Ruby teams wanting direct Chrome control.
- Foundation for Cuprite-based Rails system tests.
- 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.
CCupriteCuprite is an MIT-licensed, pure-Ruby Capybara driver that runs Rails and Rack system tests on headless Chrome through Ferrum, without Selenium or ChromeDriver.Compare with Ferrum- CCapybaraAcceptance test framework for web applications.Compare with Ferrum
- WWatirAn open source Ruby library for automating tests.Compare with Ferrum
Cchromedpchromedp is an MIT-licensed Go package that drives Chrome and other Chrome DevTools Protocol browsers directly from Go, without external dependencies such as Selenium or Node.js.Compare with Ferrum
PPuppeteerJavaScript API for Chrome and Firefox.Compare with Ferrum
PPlaywrightPlaywright is a framework for Web Testing and Automation.Compare with Ferrum