🚀

Laravel Dusk でブラウザテストを始めよう!

2025/02/25に公開

🚀 Laravel Dusk でブラウザテストを始めよう!

Laravel Dusk は、E2E(エンドツーエンド)テストを簡単に実行できるブラウザテストツールです。この記事では Laravel Dusk のインストールからテストの作成、実行まで を初心者向けに分かりやすく解説します!🌟


📌 Laravel Dusk とは?

Laravel Dusk は、ブラウザ操作を自動化して UI テストを行うツール です。

フォームの送信、ボタンのクリック、ページ遷移などを自動テスト可能
ヘッドレスモード(画面なしで実行)にも対応
シンプルな API で手軽に導入できる


🛠️ Laravel Dusk のインストール

まずは Laravel プロジェクトに Dusk をインストールしましょう!

1️⃣ Dusk をインストール

composer require --dev laravel/dusk

2️⃣ Dusk のセットアップ

php artisan dusk:install

✅ これで tests/Browser ディレクトリが作成され、Dusk 用のテストクラスが利用できるようになります!


✍️ Dusk テストの作成

1️⃣ 新しいテストファイルを作成

php artisan dusk:make LoginTest

tests/Browser/LoginTest.php が作成されます!

2️⃣ テストコードを書く

use Tests\DuskTestCase;
use Laravel\Dusk\Browser;
use Illuminate\Foundation\Testing\DatabaseMigrations;

class LoginTest extends DuskTestCase
{
    public function test_user_can_login()
    {
        $this->browse(function (Browser $browser) {
            $browser->visit('/login')
                    ->type('email', 'user@example.com')
                    ->type('password', 'password')
                    ->press('Login')
                    ->assertPathIs('/home');
        });
    }
}

✅ これで emailpassword を入力し、「Login」ボタンをクリックするテストが作成されました!


▶️ Dusk テストの実行

テストを実行するには、以下のコマンドを使用します。

php artisan dusk

✅ すべての Dusk テストが自動で実行されます!

特定のテストのみを実行したい場合:

php artisan dusk tests/Browser/LoginTest.php

📝 よくあるエラーと対策

Facebook\WebDriver\Exception\SessionNotCreatedException が出る
ブラウザドライバ(ChromeDriver)が古い可能性あり!
以下のコマンドで更新しましょう。

php artisan dusk:update

No such file or directory エラーが出る
.env.dusk.local.env にコピーして環境を設定しましょう!

cp .env .env.dusk.local

🎯 まとめ

📌 手順 ✅ 内容
1️⃣ Laravel Dusk をインストール
2️⃣ テストクラスを作成
3️⃣ コードを書いてテストを定義
4️⃣ php artisan dusk で実行

Laravel Dusk を活用すると、手動で行っていたブラウザ操作を 自動化してテスト できます!🚀 これで、UI の動作確認を効率よく行えるようになりますね!

ぜひ Laravel Dusk を試して、快適なテストライフを送りましょう!

Discussion