ホームページ  >  記事  >  PHPフレームワーク  >  Laravel 開発: ブラウザーのテストに Laravel Dusk と Selenium を使用する方法は?

Laravel 開発: ブラウザーのテストに Laravel Dusk と Selenium を使用する方法は?

王林
王林オリジナル
2023-06-14 13:53:271042ブラウズ

Laravel 開発: ブラウザーのテストに Laravel Dusk と Selenium を使用する方法は?

Web アプリケーションはますます複雑になるため、そのすべての部分が適切に機能することを確認する必要があります。ブラウザ テストは、さまざまなブラウザ下でアプリケーションの正確性と安定性を確認するために使用される一般的なテスト方法です。 Laravel 開発では、ブラウザのテストに Laravel Dusk と Selenium を使用できます。この記事では、これら 2 つのツールをテストに使用する方法について説明します。

1. Laravel Dusk の基本概念

Laravel Dusk は、Laravel の公式ブラウザ テスト ツールです。 Selenium WebDriver API を使用して Chrome および Firefox のブラウザベースのテストを実行し、簡潔で明確な API を提供します。 Laravel Dusk を使用すると、テストを簡単に作成し、複数のテストの実行を自動化できます。テストを自動化すると、テスト カバレッジを向上させることができると同時に、手動テストに必要な時間を短縮できます。

Laravel Dusk のインストール

テストを開始する前に、まず Laravel Dusk を Laravel プロジェクトにインストールする必要があります。 Laravel Dusk は、次のコマンドを使用して Composer を使用してインストールできます。

composer require --dev laravel/dusk

Laravel Dusk には、テスト中に作成されたデータを保存するための新しいデータベースが必要です。このデータベースは、.env テスト環境で構成できます:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dusk
DB_USERNAME=root
DB_PASSWORD=

その後、次のコマンドを実行して、Dusk の必要なインストールを実行します:

php artisan dusk:install
php artisan dusk:chrome-driver

Dusk がインストールされ、使用できるようになりました。使用されたプロジェクト内。

2. Laravel Dusk テストの作成

Laravel Dusk を使用すると、テスト ケースを流暢な方法で定義できます。テスト ケースは、tests/Browser ディレクトリに配置する必要があります。各テスト ケースは DuskTestCase クラスを継承し、dusk メソッドを使用してブラウザを起動する必要があります。テスト ケースは、次のコマンドを使用して生成できます。

php artisan dusk:make TestExample

これにより、testExample という名前のテストが testing/Browser ディレクトリに作成されます。

各テスト ケースには、テスト ケースの実行ステップを定義するテスト メソッドが含まれている必要があります。テストメソッドでは、Laravel Dusk が提供する API を使用してユーザーの動作をシミュレートし、テストの期待される結果をアサートできます。例:

$this->browse(function ($browser) {
    $browser->visit('/login')
            ->type('email', 'john@example.com')
            ->type('password', 'password')
            ->press('Login')
            ->assertPathIs('/home');
});

このテストはアプリケーションにログインし、ログイン後に /home ページにリダイレクトされることを確認します。このテストでは、visit メソッドを使用して /login ページにアクセスします。次に、type メソッドを使用して電子メール フィールドとパスワード フィールドに値を入力し、press メソッドを使用してフォームを送信します。最後に、assertPathIs メソッドを使用して、ページ URL が /home であるかどうかをアサートします。

3. Selenium WebDriver の構成

Selenium WebDriver は、さまざまなブラウザをサポートする自動テスト ツールです。 Dusk は Selenium API を使用してブラウザを処理し、テストを実行します。 Selenium を使用するには、対応する WebDriver バイナリをダウンロードする必要があります。 WebDriver バイナリは、ブラウザと Selenium 間のドライバです。 WebDriver バイナリは次からダウンロードできます:

Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads

Firefox: https://github.com/ mozilla/geckodriver/releases

ダウンロード後、WebDriver バイナリを Laravel プロジェクトのルート ディレクトリに配置します。

デフォルトでは、Dusk はブラウザとして Google Chrome を使用します。 Firefox を使用するには、.dusk.php 設定ファイルで設定できます:

'driver' => 'firefox'

4. Dusk を使用してテストを実行する

Laravel Dusk をインストールしてテスト ケースを作成した後、テストを実行するには、次のコマンドを実行します。

php artisan dusk

これにより、Chrome が起動し、ブラウザのテストが実行されます。テストが完了すると、テスト結果がターミナル ウィンドウに表示されます。

--group オプションを使用して、特定のテスト グループを実行できます:

php artisan dusk --group=login

Laravel Dusk を使用したブラウザ テスト

ブラウザ テストは、アプリケーションが正確に実行されることを確認するために重要です。方法の一つ。 Laravel Dusk と Selenium WebDriver を使用して、自動化されたブラウザ テストを作成し、アプリケーションの正確さと安定性を検証します。この記事で紹介した方法を使用すると、ブラウザ テストを迅速に実行するためのテスト ケースを作成できます。

以上がLaravel 開発: ブラウザーのテストに Laravel Dusk と Selenium を使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。