Gauge BDD Test Automation Framework
BDD test automation framework bridging business and technical testing
❌ Manual test case writing and maintenance is time-consuming, error-prone, and disconnects QA from developers.
✅ Teams automate test specifications in plain language with executable step implementations across multiple languages.
- ✓Markdown-based specification files readable by non-technical stakeholders
- ✓Step implementations in Java, Python, JavaScript, Ruby, and C#
- ✓Parallel test execution with built-in reporting and CI/CD integration
- ✓ThoughtWorks industry-standard framework reducing test maintenance overhead
👁 2 views · 📦 0 installs
Free to install — no account needed
Copy the command below and paste into your agent.
Instant access • No coding needed • No account needed
What you get in 5 minutes
- Full skill code ready to install
- Works with 4 AI agents
- Lifetime updates included
Run this helper
Answer a few questions and let this helper do the work.
▸Advanced: use with your AI agent
Description
--- name: gauge-skill description: > Generates Gauge test specifications in Markdown with step implementations in Java, Python, JS, or Ruby. ThoughtWorks' test automation framework. Use when user mentions "Gauge", "spec file", "## Scenario", "step implementation". Triggers on: "Gauge", "Gauge spec", "Gauge framework", "ThoughtWorks test". languages: - Java - Python - JavaScript - Ruby - C# category: bdd-testing license: MIT metadata: author: TestMu AI version: "1.0" --- # Gauge Automation Skill ## Core Patterns ### Specification (specs/login.spec) ```markdown # Login Feature ## Successful Login * Navigate to login page * Enter email "[email protected]" * Enter password "password123" * Click login button * Verify dashboard is displayed * Verify welcome message contains "Welcome" ## Invalid Credentials * Navigate to login page * Enter email "[email protected]" * Enter password "wrong" * Click login button * Verify error message "Invalid credentials" is shown ## Login with multiple users |email |password |expected | |-----------------|---------|----------| |[email protected] |admin123 |Dashboard | |[email protected] |pass123 |Dashboard | |[email protected] |wrong |Error | * Login as <email> with <password> * Verify <expected> page is shown ``` ### Step Implementation — Java ```java import com.thoughtworks.gauge.Step; import com.thoughtworks.gauge.Table; public class LoginSteps { WebDriver driver; @Step("Navigate to login page") public void navigateToLogin() { driver.get("http://localhost:3000/login"); } @Step("Enter email <email>") public void enterEmail(String email) { driver.findElement(By.id("email")).sendKeys(email); } @Step("Enter password <password>") public void enterPassword(String password) { driver.findElement(By.id("password")).sendKeys(password); } @Step("Click login button") public void clickLogin() { driver.findElement(By.cssSelector("button[type='submit']")).click(); } @Step("Verify dashboard is displayed") public void verifyDashboard() { assertTrue(driver.getCurrentUrl().contains("/dashboard")); } } ``` ### Step Implementation — Python ```python from getgauge.python import step from selenium import webdriver @step("Navigate to login page") def navigate_to_login(): driver.get("http://localhost:3000/login") @step("Enter email <email>") def enter_email(email): driver.find_element_by_id("email").send_keys(email) @step("Click login button") def click_login(): driver.find_element_by_css_selector("button[type='submit']").click() ``` ### Concepts (Reusable Step Groups — specs/concepts/login.cpt) ```markdown # Login as <email> with <password> * Navigate to login page * Enter email <email> * Enter password <password> * Click login button ``` ## Setup: `gauge install java` (or `python`, `js`, `ruby`) ## Init: `gauge init java` ## Run: `gauge run specs/` or `gauge run specs/login.spec` ### Cloud Execution on TestMu AI Set environment variables: `LT_USERNAME`, `LT_ACCESS_KEY` ```java // StepImplementation.java ChromeOptions browserOptions = new ChromeOptions(); HashMap<String, Object> ltOptions = new HashMap<>(); ltOptions.put("user", System.getenv("LT_USERNAME")); ltOptions.put("accessKey", System.getenv("LT_ACCESS_KEY")); ltOptions.put("build", "Gauge Build"); ltOptions.put("platformName", "Windows 11"); ltOptions.put("video", true); ltOptions.put("console", true); browserOptions.setCapability("LT:Options", ltOptions); Driver.setWebDriver(new RemoteWebDriver( new URL("https://hub.lambdatest.com/wd/hub"), browserOptions)); ``` ## Tags: `gauge run --tags "smoke"` (use `Tags: smoke` in spec) ## Deep Patterns See `reference/playbook.md` for production-grade patterns: | Section | What You Get | |---------|-------------| | §1 Project Setup | Installation, project structure, environment properties | | §2 Spec Files | Markdown scenarios, data tables, concepts (.cpt) | | §3 Step Implementations | Java steps, table-driven steps, assertions | | §4 Hooks & Execution | BeforeSuite/Scenario/Step, screenshots, browser logs | | §5 Page Objects | BasePage, concrete pages, usage in steps | | §6 Data Management | ScenarioDataStore, SpecDataStore, CSV data | | §7 LambdaTest Integration | Remote driver factory with LT:Options | | §8 CI/CD Integration | GitHub Actions with parallel execution, XML reports | | §9 Debugging Table | 12 common problems with causes and fixes | | §10 Best Practices | 14-item Gauge testing checklist |
Security Status
Verified
Manually verified by security team
Related AI Tools
More Grow Business tools you might like
codex-collab
FreeUse when the user asks to invoke, delegate to, or collaborate with Codex on any task. Also use PROACTIVELY when an independent, non-Claude perspective from Codex would add value — second opinions on code, plans, architecture, or design decisions.
Rails Upgrade Analyzer
FreeAnalyze Rails application upgrade path. Checks current version, finds latest release, fetches upgrade notes and diffs, then performs selective upgrade preserving local customizations.
Asta MCP — Academic Paper Search
FreeDomain expertise for Ai2 Asta MCP tools (Semantic Scholar corpus). Intent-to-tool routing, safe defaults, workflow patterns, and pitfall warnings for academic paper search, citation traversal, and author discovery.
Hand Drawn Diagrams
FreeCreate hand-drawn Excalidraw diagrams, flows, explainers, wireframes, and page mockups. Default to monochrome sketch output; allow restrained color only for page mockups when the user explicitly wants webpage-like fidelity.
Move Code Quality Checker
FreeAnalyzes Move language packages against the official Move Book Code Quality Checklist. Use this skill when reviewing Move code, checking Move 2024 Edition compliance, or analyzing Move packages for best practices. Activates automatically when working
Claude Memory Kit
Free"Persistent memory system for Claude Code. Your agent remembers everything across sessions and projects. Two-layer architecture: hot cache (MEMORY.md) + knowledge wiki. Safety hooks prevent context loss. /close-day captures your day in one command. Z