test-automation-framework について
保守しやすい自動テストスイートを構成するためのスキルです。再利用可能なユーティリティ、テストデータ、設定、レポートのガイドを提供し、TypeScript の Playwright と Python の pytest を扱います。
主な機能
- 01再利用可能なテストユーティリティ
- 02テストフィクスチャとファクトリー
- 03複数環境の設定
- 04読みやすいテストレポート
- 05Page Object Model のガイド
- 06テスト構成のパターン
活用シーン
- 01新しい自動テストスイートの構築
- 02既存テストスイートの拡張
- 03チーム間のテスト規約の統一
- 04テスト準備コードの重複削減
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill test-automation-frameworkインストール後、Claude Code で/test-automation-frameworkを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/configuration-management.mdcustom-reporter.mdcustom-test-utilities.mdpage-object-model-playwrighttypescript.mdpytest-framework-python.mdtest-fixtures-and-factories.mdtest-organization.mdscripts/scaffold-tests.shtemplates/test-template.js詳細
テスト自動化フレームワーク
目次
概要
テスト自動化フレームワークは、自動テストに構造、再利用性、保守性をもたらします。テストの整理、テストデータの管理、依存関係の処理、レポートの生成に関するパターンを定義します。適切に設計されたフレームワークは、重複を減らし、信頼性を高め、テスト開発を加速させます。
使用する場面
- 新しいテスト自動化を設定するとき
- 既存のテストスイートを拡張するとき
- チーム間でテストの実践方法を標準化するとき
- テストの保守負担を軽減するとき
- テストの信頼性と速度を向上させるとき
- 大規模なテストコードベースを整理するとき
- 再利用可能なテストユーティリティを実装するとき
- 一貫性のあるレポートを作成するとき
クイックスタート
最小限の動作例:
// framework/pages/BasePage.ts
import { Page, Locator } from "@playwright/test";
export abstract class BasePage {
constructor(protected page: Page) {}
async goto(path: string) {
await this.page.goto(path);
}
async waitForPageLoad() {
await this.page.waitForLoadState("networkidle");
}
async takeScreenshot(name: string) {
await this.page.screenshot({ path: `screenshots/${name}.png` });
}
protected async clickAndWait(locator: Locator) {
await Promise.all([
this.page.waitForResponse((resp) => resp.status() === 200),
locator.click(),
]);
}
}
// ... (see reference guides for full implementation)
リファレンスガイド
references/ ディレクトリにある詳細な実装:
| ガイド | 内容 |
|---|---|
| ページオブジェクトモデル(Playwright/TypeScript) | ページオブジェクトモデル(Playwright/TypeScript) |
| テストフィクスチャとファクトリー | テストフィクスチャとファクトリー |
| カスタムテストユーティリティ | カスタムテストユーティリティ |
| 構成管理 | 構成管理 |
| カスタムレポーター | カスタムレポーター |
| pytest フレームワーク(Python) | pytest フレームワーク(Python) |
| テストの整理 | テストの整理 |
ベストプラクティス
✅ 推奨事項
- UI テストにはページオブジェクトモデルを使用します
- 再利用可能なテストユーティリティを作成します
- 適切な待機戦略を実装します
- テストデータにはフィクスチャを使用します
- 複数の環境に対応するように構成します
- 読みやすいテストレポートを生成します
- 機能/種類ごとにテストを整理します
- テストフレームワークをバージョン管理します
❌ 避けるべきこと
- ページオブジェクトにテストロジックを記述しないでください
- ハードコードされた待機(sleep)を使用しないでください
- テストのセットアップコードを重複させないでください
- テストデータとテストロジックを混在させないでください
- エラー処理を省略しないでください
- テストの不安定さを無視しないでください
- 過度に複雑な抽象化を作らないでください
- 環境の URL をハードコードしないでください
コメント
Markdown 対応