Laravel フレームワーク自体を必要としない、スタンドアロンの Laravel Dusk テスト スーツ。
Laravel Dusk は、表現力豊かで使いやすいブラウザ自動化およびテスト API を提供します。デフォルトでは、Dusk ではマシンに JDK または Selenium をインストールする必要はありません。代わりに、Dusk はスタンドアロンの Chrome ドライバーを使用します。ただし、他の Selenium ドライバーを自由に利用できます。
まず、unglud/dusker Composer 依存関係をプロジェクトに追加する必要があります。
composer require --dev unglud/dusker
次に、必要なファイルをすべて作業ディレクトリにコピーする必要があります。以下のコマンドでそれが行われます。これは、 tests
ディレクトリを作成 (または既存のディレクトリを使用) し、そこにファイルを置きます。また、 artisan
Console ユーティリティをプロジェクトのルート ディレクトリにコピーします。このファイルがすでにある場合は上書きされます。
ファイル.env.dusk
もプロジェクト ルートにあります。このファイルの名前を.env
に変更するか、その内容を既存のファイルにコピーする必要があります。
composer run-script post-install-cmd -d ./vendor/unglud/dusker
このパッケージを更新するたびにこれらのファイルが自動的に更新されるようにしたい場合は、これをcomposer.json
ファイルに追加できます。
"scripts": { "post-install-cmd": [ "DuskerCopyFile::copy" ], "post-update-cmd": [ "DuskerCopyFile::copy" ] }, "extra": { "copy-file": { "vendor/unglud/dusker/src/example/": "tests/", "vendor/unglud/dusker/artisan": "artisan" } }
お気づきのように、ファイル.env.dusk
は、物事を簡素化するためにそこには含まれていません。
パッケージをインストールすると、ルート プロジェクトから Artisan コマンドが使用できるようになります。 dusk:install
Artisan コマンドを実行します。
php artisan dusk:install
次に、テストを実行してすべてが機能することを確認してください
php artisan dusk
この部分の後には、Laravel Web サイトにある Dusk の公式ドキュメントを使用できます。これは、Taylor Otwell によって設計されたとおりに正確に動作するためです。
多くの場合、認証が必要なページをテストすることになります。 Dusk の loginAs メソッドを使用すると、テストのたびにログイン画面との対話を避けることができます。 loginAs メソッドは、ユーザーのlogin
とpassword
を受け入れます。
$this->browse(function (Browser $browser) { $browser->loginAs('username', 'password') ->visit('/home'); });
loginAs メソッドを使用した後、ファイル内のすべてのテストに対してユーザー セッションが維持されます。
Laravel からネイティブのAuth
とRouter
にアクセスできないため、Laravel なしで使用するため、ログイン機能をセットアップする必要があります。 .env
では、 LOGIN_ENDPOINT
-- ブラウザからアクセスできるファイルを Dusker がコピーするパブリック ディレクトリへのパスを指定する必要があります。デフォルトではhttp://example.com/_dusker/login.php
です。 2 番目のLOGIN_IMPLEMENTATION
-- 認証を許可するプロジェクトのロジックを利用するクラスへのパス。 /tests/LoginManagerExample.php
、どのように見えるかの例として使用できます。
Dusker は MIT ライセンスに基づいてリリースされています。詳細については、同梱の LICENSE ファイルを参照してください。