Go Testing with chromedp

chromedp is a fast and simple way to drive browsers supporting the Chrome DevTools Protocol in Go.

Installing chromedp

To install chromedp, please run the following command:

go get -u github.com/chromedp/chromedp

Running your first chromedp test

To run your first test, please use this example:

package main

import (

func main() {
  var devToolWsUrl string
  var title string

  flag.StringVar(&devToolWsUrl, "devtools-ws-url", "wss://chrome.headlesstesting.com?token=[YOUR-TOKEN]", "DevTools Websocket URL")

  actxt, cancelActxt := chromedp.NewRemoteAllocator(context.Background(), devToolWsUrl)
  defer cancelActxt()

  ctxt, cancelCtxt := chromedp.NewContext(actxt) // create new tab
  defer cancelCtxt()                             // close tab afterwards

  if err := chromedp.Run(ctxt,
  ); err != nil {
    log.Fatalf("Failed getting body of headlesstesting.com: %v", err)

  log.Println("Got title of:", title)

This example will start a Chrome Headless Browser, navigate to HeadlessTesting.com and print the title of the page.