117
87

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Claude】Playwright-MCPで変わるテスト自動化の世界!初心者でも使えるE2Eテスト入門

Posted at

はじめに

私は新米プログラマーとして、テスト自動化の複雑さに頭を悩ませていたんですが、Playwright MCPと出会って目から鱗が落ちる体験をしました。今日はその魅力を皆さんと共有したいと思います!

この記事では、初心者向けにClaudeを活用した簡単な設定方法を紹介しています。この中でHimcp.aiも絶対にチェックする価値があります。優れたMCPサーバーやクライアントを発見することができ、特に1681の能力をMCPサーバーを通じて最大限に拡張できます。

テスト自動化の悩みから解放されるPlaywright MCP

アプリ開発をしていると、「ユーザーが実際に使うときにちゃんと動くかな?」という不安がつきまといますよね。エンドツーエンドテスト(E2Eテスト)は、UIからAPIまで全体の流れをテストできる素晴らしい方法なんですが、正直言って、従来のやり方はめちゃくちゃ大変でした。

複雑なコードを書いたり、テストシナリオを考えたり...。特に私のような新米プログラマーにとっては、高い壁だったんです。でも、Playwright MCPの登場で、この状況が劇的に変わりました!

Playwright MCPの最大の魅力は、自然な日本語のコマンドでブラウザ操作やAPIテストができること。もう複雑なコードを書く必要はありません。技術に詳しくないチームメンバーでも、簡単にテストを作成できるようになったんです。これは革命的な変化だと思いませんか?

Playwright MCPって何?初心者にも分かりやすく解説

Playwright-MCP.png

Playwright MCPは、Microsoftが開発した強力なブラウザ自動化ツール「Playwright」と、Anthropicの「Claude」が提供するモデルコンテキストプロトコル(MCP)を組み合わせたものです。

簡単に言うと、普通の言葉でテストを書くと、それが自動的にブラウザを操作するコードに変換されるという魔法のようなツールなんです!

例えば、「Googleにアクセスして検索ボックスに『Playwright MCP』と入力して検索ボタンをクリックする」というような指示を日本語で書くだけで、実際にブラウザがその通りに動いてくれます。すごくないですか?

環境構築:初めてでも簡単にセットアップ

Playwright MCPを使い始めるための環境構築は意外と簡単です。私も最初は不安でしたが、以下の手順で問題なく設定できました:

  1. Node.jsをインストール: まだNode.jsを使ったことがない方は、公式サイトからダウンロードしてインストールしてください。
    node-js-3.png

  2. Playwright MCPサーバーをインストール: ターミナルを開いて、次のコマンドを実行します

    npm install -g @executeautomation/playwright-mcp-server
    
  3. Claudeデスクトップクライアントの設定: Claudeのデスクトップアプリを使っている場合は、claude_desktop_config.jsonファイルに以下の設定を追加します。

    {
      "mcpServers": {
        "playwright": {
          "command": "npx",
          "args": ["-y", "@executeautomation/playwright-mcp-server"]
        }
      }
    }
    
  4. Claudeデスクトップクライアントを起動: 設定が完了したら、Claudeを起動して、Playwright MCPサーバーが認識されているか確認しましょう。
    Claude-4.png

これで準備完了!思ったより簡単でしょう?私も最初は「難しそう...」と思いましたが、実際にやってみると意外とすんなりできました。

UIテストを作ってみよう!実践的な例で解説

Claude-5.png

Playwright MCPの真価は、実際に使ってみると分かります。まずはシンプルなUIテストから始めてみましょう。

例えば、ウェブサイトにアクセスしてタイトルを確認するテストは、次のように書けます:

https://example.comに移動し、タイトルに「Example」が含まれているか確認する

たったこれだけで、Playwright MCPはブラウザを起動し、指定したURLにアクセスして、タイトルをチェックしてくれます。私が初めてこれを試したときは「え、これだけ?」と驚きました。

もう少し複雑な例として、ログインフォームの操作も見てみましょう:

idが「username」の入力フィールドを「testuser」で埋める
idが「password」の入力フィールドを「password123」で埋める
テキスト「Login」のボタンをクリックする

これだけで、ユーザー名とパスワードを入力してログインボタンをクリックするテストが完成します。従来のテストコードと比べると、圧倒的に読みやすいですよね?

私のチームでは、テスト担当ではない企画担当の方も、このシンプルな書き方ですぐにテストを作れるようになりました。これは本当に画期的なことだと思います。

APIテストも簡単!バックエンド検証の新しい形

UIだけでなく、APIテストもPlaywright MCPなら簡単です。例えば、GETリクエストを送信して結果を確認するテストは次のように書けます:

https://api.example.com/usersにGETリクエストを送信し、ステータスが200であるか確認する

これだけで、APIリクエストが送信され、レスポンスのステータスコードが確認されます。レスポンスの内容を詳しくチェックしたい場合は:

https://api.example.com/usersにGETリクエストを送信し、応答に「userId」が含まれているか確認する

POSTリクエストも同様に簡単です:

https://api.example.com/usersにPOSTリクエストを送信し、ボディに{ "name": "John", "age": 30 }を持ち、ステータスが201であるか確認する

私がこれまで使ってきたAPIテストツールと比べると、コードの量が圧倒的に少なく、メンテナンスも楽になりました。特に複雑なAPIテストを行う場合は、Apidogのような専門ツールと組み合わせると、より詳細な分析や管理ができるのでおすすめです。

UIとAPIを組み合わせた本格的なE2Eテスト

Playwright MCPの真の力は、UIとAPIテストを組み合わせたときに発揮されます。例えば、ECサイトの購入フローをテストする場合:

https://shop.example.comに移動し、「カートに追加」というテキストのボタンをクリックする
https://api.shop.example.com/cartにGETリクエストを送り、応答に「itemId」が含まれているか確認する
idが「promo」の入力フィールドを「SAVE10」で埋める
「チェックアウト」というテキストのボタンをクリックする
https://api.shop.example.com/orderにPOSTリクエストを送り、ボディに{ "userId": "123" }を持ち、ステータスが201であるか確認する

このシナリオでは、UIでの操作(商品をカートに追加する、プロモコードを入力する)とAPIの検証(カートの内容確認、注文の送信)を一連の流れでテストしています。

私のプロジェクトでは、このようなE2Eテストを導入したことで、リリース前の重大なバグを何度も発見できました。特にフロントエンドとバックエンドの連携部分のバグは、このようなテストがないと見つけるのが難しいんですよね。

まとめ:テスト自動化の未来はここにある

Playwright MCPは、テスト自動化の世界に革命をもたらしています。自然言語でテストを書けるという特徴は、技術者だけでなく、プロジェクト全体のコミュニケーションを改善し、品質向上に大きく貢献します。

私自身、テスト自動化に苦手意識を持っていましたが、Playwright MCPのおかげで、今では自信を持ってテストを作成できるようになりました。皆さんも、ぜひPlaywright MCPを試してみてください。きっと、テストに対する考え方が変わるはずです!

最後に、テスト自動化の世界はこれからも進化し続けると思います。AIとの連携がさらに進み、より直感的で効率的なテスト方法が登場するでしょう。その変化に乗り遅れないよう、常に新しい技術に目を向けていきたいですね。

117
87
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
117
87

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?