Web アプリケーションがますます複雑かつ洗練されるにつれて、自動テストは私たちの日常業務に不可欠な部分になっています。 Selenium は、ユーザーの動作をシミュレートし、Web アプリケーションのさまざまな側面をテストできる、非常に人気のある自動テスト フレームワークです。
CakePHP は、持続可能で信頼性の高いコード ベースの維持に役立つ多くのツールとテクノロジを使用するオープン ソース Web アプリケーション フレームワークです。この記事では、CakePHP で Selenium を使用してテストを自動化する方法を検討します。
まず、Selenium と関連ドライバーをインストールする必要があります。 Selenium は Composer を通じてインストールできます。次のコマンドを実行するだけです:
composer require --dev php-webdriver/webdriver
さらに、Selenium が Web ブラウザでのユーザーの動作をシミュレートできるように、ブラウザ ドライバをインストールする必要があります。ここでは Chrome ブラウザと ChromeDriver ドライバを使用しますが、他のブラウザやドライバを使用することもできます。詳細については、Selenium のドキュメントを参照してください。
まず、Chrome ブラウザと ChromeDriver ドライバーをインストールする必要があります。次のリンクから ChromeDriver の最新バージョンをダウンロードできます: https://sites.google.com/a/chromium.org/chromedriver/downloads
ダウンロードが完了したら、ChromeDriver を追加する必要があります。 Selenium がそれを見つけられるようにパスを設定します。
テストを作成する前に、Selenium をいくつか構成する必要があります。まず、Selenium クライアントを作成し、使用するブラウザ ドライバを指定する必要があります。ChromeDriver を使用します。
use FacebookWebDriverRemoteRemoteWebDriver; use FacebookWebDriverChromeChromeOptions; $options = new ChromeOptions(); $options->addArguments(['--disable-notifications', '--headless']); $webDriver = RemoteWebDriver::create('http://localhost:4444/wd/hub', DesiredCapabilities::chrome()->setCapability(ChromeOptions::CAPABILITY, $options));
ここでは、通知の無効化やヘッドレス モードでの実行など、いくつかの Chrome オプションも提供します。
これで、テストの作成を開始する準備が整いました。まず、テスト クラスとテスト メソッドを作成する必要があります。テストメソッドは常に test から始める必要があります。
use PHPUnitFrameworkTestCase; class MyTest extends TestCase { public function testMyMethod() { // Your test code here } }
テスト方法では、Selenium を使用してユーザーの操作をシミュレートできます。たとえば、次のコードは Google ホームページを開き、検索ボックスに「CakePHP」と入力します。
class MyTest extends TestCase { public function testGoogleSearch() { $webDriver->get('http://www.google.com'); $searchBox = $webDriver->findElement(FacebookWebDriverWebDriverBy::name('q')); $searchBox->sendKeys('CakePHP'); $searchBox->submit(); $this->assertContains('CakePHP', $webDriver->getTitle()); } }
このテストでは、最初に Google ホームページを開いて、次に検索ボックスに CakePHP と入力し、最後に送信しました。フォームに CakePHP のヘッダーが含まれていることを確認します。
最後に、PHPUnit を使用してテストを実行できます。まず、コマンド ラインで Selenium サーバーを起動する必要があります:
java -Dwebdriver.chrome.driver=/path/to/chromedriver -jar /path/to/selenium-server-standalone.jar
次に、テストを実行できます:
vendor/bin/phpunit tests/MyTest.php
これにより、MyTest.php ファイルに記述したすべてのテストが実行されます。 。
この記事では、CakePHP で Selenium を使用してテストを自動化する方法を検討しました。最初に Selenium ドライバーと ChromeDriver ドライバーをインストールし、次に Selenium クライアントを構成して、Google 検索を検証する簡単なテストを作成しました。最後に、PHPUnit を使用してテストを実行しました。
自動テストに Selenium を使用すると、作業効率とコードの品質が向上し、人的エラーが削減されます。この記事が、CakePHP で Selenium を使用するためのヘルプとガイダンスを提供できれば幸いです。
以上がCakePHP で Selenium を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。