ScriptsJul 14, 2026·3 min read

Gauge — Lightweight Cross-Platform Test Automation

Gauge is an open-source test automation framework by ThoughtWorks that uses Markdown for writing test specifications, supporting multiple languages and parallel execution.

Agent ready

Ready-to-run agent install

This asset can be installed after the agent chooses its runtime, checks the plan, and runs the matching command.

Native · 98/100Policy: allow
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
Gauge Overview
Direct install command
npx -y tokrepo@latest install 5d93a65a-7f5d-11f1-9bc6-00163e2b0d79 --target codex

Run after dry-run confirms the install plan.

Introduction

Gauge is a test automation framework created by ThoughtWorks that takes a different approach to test specification. Tests are written in Markdown files, making them readable by non-technical stakeholders while remaining executable by developers through step implementations in their language of choice.

What Gauge Does

  • Uses Markdown-based specifications for human-readable test documentation
  • Supports step implementations in Java, JavaScript, Python, Ruby, C#, and Go
  • Runs tests in parallel across specs and scenarios for faster feedback
  • Generates HTML reports with screenshots and failure details
  • Provides data-driven testing through table parameters in Markdown

Architecture Overview

Gauge separates test specifications from implementation. Markdown spec files contain scenarios with plain-text steps. The Gauge runner parses these specs and matches steps to implementations in a language runner plugin. Each language runner is a separate process communicating with the core via protocol buffers, enabling polyglot test projects.

Self-Hosting & Configuration

  • Install the Gauge CLI via Homebrew, npm, Chocolatey, or direct download
  • Initialize projects with gauge init for your chosen language
  • Configure environment variables and properties in the env directory
  • Set parallel execution streams with the -n flag
  • Install IDE plugins for VS Code or IntelliJ for step autocomplete

Key Features

  • Markdown specifications serve as both documentation and executable tests
  • Multi-language support through a plugin architecture
  • Parallel and multithreaded execution with configurable streams
  • Data-driven testing using inline tables and external CSV files
  • Extensible reporting with built-in HTML and XML output

Comparison with Similar Tools

  • Cucumber — uses Gherkin syntax for BDD; Gauge uses free-form Markdown without strict Given/When/Then grammar
  • Robot Framework — keyword-driven testing with tabular syntax; Gauge uses natural Markdown with code-backed steps
  • Playwright Test — browser-focused testing; Gauge is protocol-agnostic and works with any test target
  • Behave — Python BDD framework tied to Gherkin; Gauge supports multiple languages and a more flexible spec format
  • SpecFlow — .NET BDD with Gherkin; Gauge provides similar capabilities with broader language support

FAQ

Q: What languages can I write step implementations in? A: Java, JavaScript/TypeScript, Python, Ruby, C#, and Go are supported through official language runner plugins.

Q: Can Gauge test web applications? A: Yes, combine Gauge with browser automation libraries like Selenium or Taiko in your step implementations.

Q: How does parallel execution work? A: Gauge distributes specs across multiple runner processes. Each stream gets its own language runner instance for isolation.

Q: Is Gauge suitable for API testing? A: Yes, step implementations can use any HTTP client library to test APIs while keeping specs readable.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets