CakePHP は、Web アプリケーションを開発するためのシンプルかつ柔軟な方法を提供する人気のある PHP Web アプリケーション フレームワークです。ただし、CakePHP アプリケーションのユーザー インターフェイスをテストするために、より高度なツールが必要になる場合があります。 Mink はこの状況で非常に便利なツールです。 Mink は、Web ブラウザーをテストするための拡張可能なドライバーのコレクションを提供する PHP ライブラリです。
この記事では、アプリケーションをより適切にテストできるように、CakePHP で Mink を使用する方法を紹介します。
ステップ 1: Mink をインストールする
まず、CakePHP アプリケーションに Mink をインストールする必要があります。このために、Composer 依存関係マネージャーを使用できます。次のコマンドを使用できます:
composer require behat/mink behat/mink-extension
これにより、Mink ライブラリと Mink 拡張機能がインストールされます。このチュートリアルでは Mink 拡張機能を使用します。
ステップ 2: Mink 構成ファイルを定義する
次に、Mink 構成ファイルを定義する必要があります。 CakePHP プロジェクトに新しい mink.php
ファイルを作成し、Mink 構成を定義します。サンプル構成は次のとおりです:
<?php use BehatMinkSession; use BehatMinkDriverSelenium2Driver; use BehatMinkExtensionContextMinkContext; // Bootstrap Mink for WebDriver and start an instance of a browser // You can specify Chrome, Safari, Firefox, etc. $driver = new Selenium2Driver('chrome'); $session = new Session($driver); $session->start(); // Configure our MinkContext object with the appropriate data $config = [ 'start_url' => 'http://localhost:8765', // The URL to start browsing at 'default_session' => 'selenium2', // Use the Selenium 2 (WebDriver) driver ]; $mink = new MinkContext(); $mink->setSession('selenium2', $session); $mink->setMinkParameters($config);
上記の例では、Selenium 2 ドライバーを使用して Chrome インスタンスを起動し、構成パラメーターを定義しました。
ステップ 3: Mink テスト ケースを作成する
上記の構成を完了したら、Mink テスト ケースを作成できます。 tests/acceptance
ディレクトリに、テスト ケースを含む新しいファイル .feature
ファイルを作成します。
Feature: Testing the Login Functionality Scenario: Login with Correct Credentials Given I am on "/login" When I fill in "username" with "testUser" And I fill in "password" with "pass123" And I press "Login" Then I should see "Welcome, testUser"
上記のテスト ケースでは、Gherkin 言語を使用してシナリオ、手順、および期待される結果を定義しました。 MinkContext
クラスで提供されるメソッドを使用して、これらの手順を実装できます。
ステップ 4: Mink テストを実行する
Mink テストを作成したら、次のコマンドを使用してターミナルでテストを実行できます:
vendor/bin/behat --config mink.php tests/acceptance/login.feature
これにより起動します。 Chrome ブラウザでテスト ケースを実行し、結果をターミナルに出力します。
結論
このチュートリアルでは、CakePHP アプリケーションで Web UI テストに Mink を使用する方法を学びました。 Mink のインストール、Mink 構成ファイルの定義、テスト ケースの作成のプロセスについて学びました。これらの手順により、CakePHP アプリケーションをより適切にテストし、その正確さと信頼性を確認できます。
以上がCakePHP で Mink を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。