CheckOps home

Tools directory

C

CheckOps

chromedp

chromedp 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.

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

chromedp is a Go package for driving browsers that speak the Chrome DevTools Protocol. The README stresses that it needs no external dependencies: the module uses only the Go standard library and the cdproto protocol bindings, starts a browser and talks to it through a pipe.

Tasks are expressed as a list of actions such as chromedp.Navigate, chromedp.WaitVisible, chromedp.Click, chromedp.Text and chromedp.Screenshot, run with chromedp.Run(ctx, ...). Context cancellation and timeouts follow normal Go patterns, and a separate remote package connects to an already running browser over WebSocket.

Current versions need Go 1.25 or newer. Go teams use chromedp for end-to-end smoke tests of web UIs, generating screenshots and PDFs, and checking rendered pages in integration tests without bringing a Node.js toolchain into the build.

In the quality loop it sits at the end-to-end stage for Go services that serve web front ends.

The source code is at chromedp/chromedp on GitHub under the MIT licence, with about 13,400 stars; the most recent commit was on 5 November 2026.

Features

  1. Pure Go: No Selenium, WebDriver or Node.js needed.
  2. Action-based API: Compose navigation, waits, clicks, text extraction and screenshots.
  3. Context support: Timeouts and cancellation via Go contexts.
  4. Remote browsers: Connect to a running browser with the remote package.
  5. Full CDP access: Use any DevTools Protocol domain through cdproto.

Pros

  1. Fits Go toolchains: Tests run with go test like everything else.
  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 5 November 2026.
  4. Community: About 13,400 GitHub stars.

Cons

  1. Chromium only: Works with CDP browsers, not Firefox or Safari via WebDriver.
  2. Low-level for testing: No assertions, test runner or reporting; you build those with Go testing.
func TestHomePage(t *testing.T) {
    ctx, cancel := chromedp.NewContext(context.Background())
    defer cancel()
    var title string
    if err := chromedp.Run(ctx,
        chromedp.Navigate("https://example.com"),
        chromedp.Title(&title),
    ); err != nil { t.Fatal(err) }
    if title != "Example Domain" { t.Fatalf("got %q", title) }
}

Resources:

Pricing

chromedp is free and open source under the MIT licence.

  1. Go teams that want browser checks inside go test.
  2. Screenshot and PDF generation in Go services.
  3. Not a fit for cross-browser testing.

Conclusion

chromedp is the standard, dependency-light way to drive Chrome from Go, with a large community of about 13,400 GitHub stars.

On CheckOps, chromedp is filed under the End-to-end & functional stage. Related tools listed here include Rod, Puppeteer, Playwright, Lightpanda, Ferrum and Browserless. 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 chromedp 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 chromedp side by side.