mcpField
G
gauge-skill

gauge-skill

github.com/lambdatest测试与质量384212 次安装2 周前更新
代码仓库

关于 gauge-skill

gauge-skill 是编写和运行 Gauge 测试的参考技能,涵盖规格、可复用概念、步骤实现,以及浏览器测试和 CI/CD 实践。

主要功能

  1. 01Markdown 测试规格
  2. 02可复用概念与步骤组
  3. 03Java 和 Python 步骤示例
  4. 04钩子、页面对象和测试数据
  5. 05云端浏览器与 CI/CD 指南

适用场景

  1. 01为登录流程编写 Gauge 场景
  2. 02在多个规格间组织共享步骤
  3. 03通过远程执行运行浏览器测试
  4. 04排查 Gauge 配置和测试运行问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lambdatest/agent-skills --skill gauge-skill

安装后在 Claude Code 中输入/gauge-skill确认已加载。

附带文件reference/advanced-patterns.mdreference/playbook.md

详细介绍

Gauge 自动化技能

核心模式

规格(specs/login.spec)
# 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
步骤实现 — 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"));
    }
}
步骤实现 — 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()
概念(可复用的步骤组 — specs/concepts/login.cpt)
# Login as <email> with <password>
* Navigate to login page
* Enter email <email>
* Enter password <password>
* Click login button

设置:gauge install java(或 python、js、ruby)

初始化:gauge init java

运行:gauge run specs/ 或 gauge run specs/login.spec

在 TestMu AI 上云端执行

设置环境变量: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));

标签:gauge run --tags "smoke"(在规格中使用 Tags: smoke)

深入模式

请参阅 reference/playbook.md,了解适用于生产环境的模式:

章节内容
§1 项目设置安装、项目结构、环境属性
§2 规格文件Markdown 场景、数据表、概念(.cpt)
§3 步骤实现Java 步骤、表格驱动步骤、断言
§4 钩子与执行BeforeSuite/Scenario/Step、屏幕截图、浏览器日志
§5 页面对象BasePage、具体页面、在步骤中的用法
§6 数据管理ScenarioDataStore、SpecDataStore、CSV 数据
§7 LambdaTest 集成使用 LT:Options 的远程驱动工厂
§8 CI/CD 集成支持并行执行和 XML 报告的 GitHub Actions
§9 调试表12 个常见问题及其原因和修复方法
§10 最佳实践包含 14 项内容的 Gauge 测试检查清单

评论

支持 Markdown