gauge-skill について
gauge-skillは、Gaugeテストの作成と実行に関するリファレンススキルです。仕様、再利用可能なコンセプト、ステップ実装に加え、ブラウザテストやCI/CDの実践方法を扱います。
主な機能
- 01Markdown形式のテスト仕様
- 02再利用可能なコンセプトとステップ群
- 03JavaとPythonのステップ例
- 04フック、ページオブジェクト、テストデータ
- 05クラウドブラウザとCI/CDのガイド
活用シーン
- 01ログインフローのGaugeシナリオ作成
- 02複数の仕様で共有ステップを整理
- 03リモート実行によるブラウザテスト
- 04Gauge設定やテスト実行の問題調査
インストール
コマンドをコピーしてターミナルで実行します。
$
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 ベストプラクティス | Gauge テストの 14 項目チェックリスト |
コメント
Markdown 対応