開発環境
- Windows 10 Pro(64bit)
- PHP 8.1.9
- Laravel 10.10
- Laravel Dusk 8.2
Laravel Duskとは、ブラウザテストを自動化するためのLaravelのパッケージです。今回は、インストールしてから、簡単なテストをするまで記事に書きます。
1.Google Chromeの最新版をダウンロードして、バージョンを確認してください。確認方法として、僕の開発環境では、C:\Program Files (x86)\Google\Chrome\Application ディレクトリ内の124.0.6367.119ディレクトリがありますので、これがバージョンとなります。
2.以下のコマンドをプロジェクトのルートディレクトリで実行
composer require laravel/dusk --dev
3.ChromeDriverをインストールする際にcURLでHTTPS通信を行うため、cacert.pemをダウンロードし、Cドライブ直下に、pemディレクトリを作り、その中へ入れておきます。
4.php.iniを開いて、その中のcurl.cainfoの行のコメントを外し、上記のpemファイルのあるディレクトリを絶対パスで指定します。
curl.cainfo=C:\pem\cacert.pem
5.以下のコマンドをプロジェクトのルートディレクトリで実行
php artisan dusk:install
6.以下のコマンドをプロジェクトのルートディレクトリで実行
php artisan dusk:make FirstTest
7..envファイル内のAPP_URLに、テスト用のホストを実行時のサーバーのポート番号付きで指定
APP_URL=http://localhost:8000/
8.以下のコマンドでChromeDriverを実行。1.で調べたバージョンを指定します。
php artisan dusk:chrome-driver 124.0.6367.119
9./tests/Browserディレクトリ内にFirstTest.phpが作成されているので開いて、以下のようにコードを作成し保存
<?php
namespace Tests\Browser;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
class FirstTest extends DuskTestCase
{
/**
* A Dusk test example.
*/
public function testExample(): void
{
$this->browse(function (Browser $browser) {
$browser->visit('/');
// トップページ内のbodyタグ内に指定の文章があるかチェック
$browser->assertSee('Hello Laravel Dusk.');
});
}
}
10.組み込みサーバーを以下のコマンドで実行
php artisan serve
11.組み込みサーバーを実行しつつ、以下のコマンドで、Laravel Duskを実行
php artisan dusk
参考リンク