Laravel Dusk でブラウザテストを始めよう!
🚀 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');
});
}
}
✅ これで email
と password
を入力し、「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