ホームページ >バックエンド開発 >PHPチュートリアル >PHPunitを使用してSelenium WebドライバーAPIを使用します
この記事では、PHPでのブラウザエミュレーション用のFacebookのWebDriverパッケージを使用して、SeleniumをPHPunitで覆う前の記事(ここには含まれていない)に基づいて検討しています。 受け入れテストとブラウザの相互作用の自動化に焦点を当てています
FacebookのWebDriverでは、PHPunitの自動処理とは異なり、
tearDown()
RemoteWebDriver
インストール:
Composerを使用してFacebook WebDriverパッケージをインストールしてください:
composer require facebook/webdriver --dev
テストクラスのセットアップ:
メソッドはインスタンスを初期化し、Selenium Serverアドレス(デフォルトで)を指定し、目的のブラウザ機能(FirefoxまたはChromeなど)を指定します。
UserSubscriptionTestFB.php
PHPUnit_Framework_TestCase
setUp()
RemoteWebDriver
http://localhost:4444/wd/hub
ブラウザのクロージャー:
<code class="language-php">public function setUp() { $this->webDriver = RemoteWebDriver::create('http://localhost:4444/wd/hub', DesiredCapabilities::firefox()); }</code>メソッドが重要です:
tearDown()
フォームインタラクション:
<code class="language-php">public function tearDown() { $this->webDriver->quit(); }</code>メソッドは
fillFormAndSubmit()
findElement()
テストケース:WebDriverBy
テスト方法データプロバイダー(前の記事から想定)を使用して、テスト入力を提供します。アサーションは、予想される結果(成功またはエラーメッセージ)を検証します。 例:
<code class="language-php">public function fillFormAndSubmit($inputs) { $this->webDriver->get('http://vaprobash.dev/'); // Replace with your URL $form = $this->webDriver->findElement(WebDriverBy::id('subscriptionForm')); // Replace with your form ID foreach ($inputs as $input => $value) { $form->findElement(WebDriverBy::name($input))->sendKeys($value); } $form->submit(); }</code>
<code class="language-php">/** * @dataProvider validInputsProvider */ public function testValidFormSubmission(array $inputs) { $this->fillFormAndSubmit($inputs); $content = $this->webDriver->findElement(WebDriverBy::tagName('body'))->getText(); $this->assertEquals('Everything is Good!', $content); // Replace with your success message }</code>
メソッドでは、テスト実行中にスクリーンショットをキャプチャできます:
要素を待っています:takeScreenshot()
メソッド
<code class="language-php">$this->webDriver->takeScreenshot(__DIR__ . "/../../public/screenshots/screenshot.jpg");</code>を処理します。
高度なインタラクション:wait()
この記事では、ドラッグアンドドロップ、アラート処理、キーボードショートカットなどのより高度なインタラクションをカバーしています。
ヘッドレステスト:この記事では、グラフィカルなディスプレイなしでシステムでヘッドレスブラウザーテストにxvfb(x仮想フレームバッファ)を使用する方法について説明します。 両方の方法(xvfbを個別に実行してxvfb-run
を使用する)が詳細になります。
便利なリンク(元の繰り返し):
この記事は、ブラウザの自動化タスクを含む、テストを超えたセレンのより広範なユーティリティを強調することで締めくくります。 FAQセクションでは、インストール、基本テスト、例外処理、アサーション、ブラウザの選択、要素の相互作用、要素の待機、スクリーンショットキャプチャ、アラート処理、並列テスト実行に関するさらなるガイダンスを提供します。
以上がPHPunitを使用してSelenium WebドライバーAPIを使用しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。