UStackUStack
KushoAI UI Testing TUI icon

KushoAI UI Testing TUI

KushoAI UI Testing TUIはオープンソースのCLI TUI。UIフローを記録し、AIでPlaywrightテストを拡張(エッジケースやエラーも対応)。

KushoAI UI Testing TUI

KushoAI UI Testing TUIとは?

KushoAI UI Testing TUIは、記録したブラウザフローを基にPlaywright UIテストスイートを生成するオープンソースのコマンドラインインターフェース(TUI)です。クリックや入力操作を手動で翻訳する代わりに、ユーザーアクションを一度記録し、AIを使ってその記録を追加のテストバリエーションに拡張します。これにはエッジケースやエラーのシナリオが含まれます。

コアワークフローはターミナル内で完結:Playwrightのブラウザレコーダーで記録、生成されたPlaywrightスクリプトをターミナルエディタでレビュー・調整し、プレーンイングリッシュの指示でKushoAIにスイートを拡張させます。生成されたテストはヘッドレスまたは可視ブラウザで実行でき、詳細なHTMLレポートを生成します。

主な機能

  • PlaywrightのブラウザレコーダーでUIフローを記録: ナビゲーション、クリック、フォーム入力、送信を実際のブラウザでキャプチャし、テスト生成の起点に。
  • AIが単一の記録を包括的なPlaywrightスイートに拡張: 生のキャプチャフローを基に複数バリエーション、エッジケース、エラーのシナリオを生成。
  • インタラクティブTUIメニュー(矢印キーガイド付きワークフロー): 認証、記録、テスト生成、実行のステップをプロンプトで案内し、フラグの暗記不要。
  • プレーンイングリッシュの指示で生成テストを編集・洗練: 「Kusho Edit」フローを使用して、拡張テストを反復的に調整し、対象カバレッジを指定。
  • ヘッドレス/ヘッド実行、ビデオ/HTMLレポートオプション付き: 実行モードを選択し、障害調査に役立つアーティファクトを生成。
  • ローカル実行と認証情報ローカル保存: 認証情報は~/.kusho-credentialsに保存され、選択したLLMプロバイダーを使用。

KushoAI UI Testing TUIの使い方

  1. CLIのインストールとリンク: リポジトリをクローン、依存関係インストール、Playwrightブラウザバイナリインストール、kushoコマンドをグローバルリンク。
    • ページの例コマンド:
      • git clone https://github.com/kusho-co/kusho-ui-testing-tui.git
      • cd kusho-ui-testing-tui
      • npm install
      • npx playwright install
      • npm link
      • 確認: kusho --help
  2. LLMプロバイダー認証情報を設定: kusho credentialsを実行、プロバイダー(OpenAI, Anthropic, Google Gemini)選択、APIキーを貼り付け。認証情報は~/.kusho-credentialsにローカル保存。
  3. ユーザーフローを記録: kusho recordを対象URL付き(またはURL省略でインタラクティブ入力)で実行。ブラウザでアクション完了後閉じると、生成Playwrightスクリプトがターミナルエディタで開く。
    • スクリプトはkusho-tests/recordings/に保存。
  4. テストスイート生成: kusho extend(またはTUIの「Extend」/「Kusho Edit」)で記録をLLMに送信し、追加バリエーション付き拡張スイートを生成。
  5. スイート実行: 拡張テストをヘッドレス/ヘッドで実行、オプションでビデオ記録と詳細HTMLレポート付き。

ガイド付き体験を好む場合、kusho uiでインタラクティブメニューを開始し、矢印キー操作で認証設定、記録、テスト生成、実行を完了。

ユースケース

  • ハッピーパスを超えたカバレッジ: 現在メインのユーザーフローしかテストしていないチームが、1回の記録からエッジケースやエラー状態を含む追加シナリオを生成。
  • 境界条件のQAワークフロー: QAエンジニアが実際のインタラクション(フォーム入力、ナビゲーション、送信)から開始し、境界条件やネガティブケースに拡張。
  • 元キャプチャフローのデバッグ: 「Run recording」オプションで生記録由来テストを実行し、AI拡張前にキャプチャ内容を確認。
  • カバレッジの反復洗練: 開発者が初期スイートを拡張後、「Kusho Edit」でプレーンイングリッシュ指示に基づきスイート内容を調整。
  • チーム横断のUIテスト生成標準化: ターミナル中心ループ(record → review → extend → run)で、Webアプリ横断のPlaywrightテスト生成を繰り返し可能。

FAQ

KushoAI UI Testing TUIは何を生成する? キャプチャしたUIフローを基にPlaywrightテストスイートを生成。追加バリエーション、エッジケース、エラーのシナリオを含む。

Playwrightコードを一から書く必要がある? いいえ。Playwrightのブラウザレコーダーでフローを記録後、ターミナルエディタで生成スクリプトをレビュー・編集。

どのLLMプロバイダーがサポートされている? ページにOpenAI, Anthropic, Google Geminiが記載。セットアップ時にデフォルトモデルをオーバーライド可能。

APIキーはどこに保存される? ツールが~/.kusho-credentialsにローカル保存し、選択プロバイダー呼び出し時に使用。

ブラウザウィンドウでテスト実行可能? はい。ページによると、ヘッドレスまたは可視ブラウザ(「headed mode」)でテストスイート実行可能。オプションでビデオ記録も。

代替案

  • 手動での Playwright テスト作成: Playwright で直接テストを書くと完全な制御が可能ですが、各クリック/入力の翻訳とエッジケーステストを手動で追加する必要があります。
  • スクリプトベースのインタラクションを伴うコンポーネント/UI テストフレームワーク: スクリプトや開発者作成のシナリオからテストを生成するフレームワークでも、それらのシナリオを作成する必要があります。インタラクティブなブラウザ録画から始まるものではありません。
  • 録画・再生に特化した自動化ツール(Playwright 優先でないもの): 録画・再生アプローチはユーザーアクションを素早くキャプチャできますが、Playwright スイート生成に最適化されておらず、追加の変換ステップが必要になる場合があります。
  • テスト向け AI 支援コード生成: 汎用 AI コーディングツールはテストの作成や拡張を支援しますが、単一の UI フローからの Playwright 録画と拡張を中心としたターミナル優先のループを提供しません。