testmu-ai/gauge-skill

Установка

$npx skills add https://github.com/LambdaTest/agent-skills/tree/main/gauge-skill

Ставит скилл в текущий проект - CLI спросит, для каких агентов. С флагом -g - в домашнюю папку, для всех проектов.

Описание

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

Gauge Automation Skill

Core Patterns

Specification (specs/login.spec)

# Login Feature

## Successful Login
* Navigate to login page
* Enter email "user@test.com"
* Enter password "password123"
* Click login button
* Verify dashboard is displayed
* Verify welcome message contains "Welcome"

## Invalid Credentials
* Navigate to login page
* Enter email "wrong@test.com"
* Enter password "wrong"
* Click login button
* Verify error message "Invalid credentials" is shown

## Login with multiple users
|email             |password |expected  |
|-----------------|---------|----------|
|admin@test.com   |admin123 |Dashboard |
|user@test.com    |pass123  |Dashboard |
|bad@test.com     |wrong    |Error     |

* Login as <email> with <password>
* Verify <expected> page is shown

Step Implementation — 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

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)

# 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

// 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

Ещё из LambdaTest/agent-skills

Все 49
  1. testmu-ai/appium-skillGenerates production-grade Appium mobile automation scripts for Android and iOS in Java, Python, or JavaScript. Supports real device and emulator testing locally and…
  2. testmu-ai/behat-skillGenerates Behat BDD tests for PHP with Gherkin feature files and MinkContext for browser testing. Use when user mentions "Behat", "PHP BDD", "Mink", "behat.yml".…
  3. testmu-ai/behave-skillGenerates Behave BDD tests for Python with Gherkin feature files and step implementations. Use when user mentions "Behave", "Python BDD", "Python Gherkin". Triggers…
  4. testmu-ai/capybara-skillGenerates Capybara E2E tests in Ruby with RSpec integration. Acceptance testing DSL for web apps. Use when user mentions "Capybara", "visit", "fill_in",…
  5. testmu-ai/cicd-pipeline-skillGenerates CI/CD pipeline configurations for test automation with GitHub Actions, Jenkins, GitLab CI, and Azure DevOps. Includes TestMu AI cloud integration. Use when…
  6. testmu-ai/codeception-skillGenerates Codeception tests in PHP covering acceptance, functional, and unit testing. BDD-style with Actor pattern. Use when user mentions "Codeception",…
  7. testmu-ai/cucumber-skillGenerates Cucumber BDD tests with Gherkin feature files and step definitions in Java, JavaScript, or Ruby. Use when user mentions "Cucumber", "Gherkin",…
  8. testmu-ai/cypress-skillGenerates production-grade Cypress E2E and component tests in JavaScript or TypeScript. Supports local execution and TestMu AI cloud. Use when the user asks to write…