PHPunitを使用してSelenium WebドライバーAPIを使用します
Feb 17, 2025 pm 12:20 PMこの記事では、PHPでのブラウザエミュレーション用のFacebookのWebDriverパッケージを使用して、SeleniumをPHPunitで覆う前の記事(ここには含まれていない)に基づいて検討しています。 受け入れテストとブラウザの相互作用の自動化に焦点を当てています
FacebookのWebDriverでは、PHPunitの自動処理とは異なり、
- を使用して手動ブラウザセッションの閉鎖が必要です。
- Selenium Server Interactionのクラスを活用します
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
ブラウザのクロージャー:メソッドが重要です:public function setUp() { $this->webDriver = RemoteWebDriver::create('http://localhost:4444/wd/hub', DesiredCapabilities::firefox()); }
ログイン後にコピー -
tearDown()
フォームインタラクション:メソッドはpublic function tearDown() { $this->webDriver->quit(); }
ログイン後にコピーを使用して - を使用してフォーム要素を見つけて対話します。
fillFormAndSubmit()
findElement()
テストケース:WebDriverBy
テスト方法データプロバイダー(前の記事から想定)を使用して、テスト入力を提供します。アサーションは、予想される結果(成功またはエラーメッセージ)を検証します。 例: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(); }
ログイン後にコピー -
/** * @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 }
ログイン後にコピー
メソッドでは、テスト実行中にスクリーンショットをキャプチャできます:
-
要素を待っています:
またはtakeScreenshot()
メソッドを処理します。$this->webDriver->takeScreenshot(__DIR__ . "/../../public/screenshots/screenshot.jpg");
ログイン後にコピー -
高度なインタラクション:
wait()
この記事では、ドラッグアンドドロップ、アラート処理、キーボードショートカットなどのより高度なインタラクションをカバーしています。 -
ヘッドレステスト:この記事では、グラフィカルなディスプレイなしでシステムでヘッドレスブラウザーテストにxvfb(x仮想フレームバッファ)を使用する方法について説明します。 両方の方法(xvfbを個別に実行して
xvfb-run
を使用する)が詳細になります。
便利なリンク(元の繰り返し):
- https://www.php.cn/link/5847ac0c8efb8552d1b7c42a4c3f2418
- https://www.php.cn/link/676bc6cef834fe54277b1954f6cd4c5c
- https://www.php.cn/link/f31bad5d6425dd6d172c786a1bffe4a7
この記事は、ブラウザの自動化タスクを含む、テストを超えたセレンのより広範なユーティリティを強調することで締めくくります。 FAQセクションでは、インストール、基本テスト、例外処理、アサーション、ブラウザの選択、要素の相互作用、要素の待機、スクリーンショットキャプチャ、アラート処理、並列テスト実行に関するさらなるガイダンスを提供します。
以上がPHPunitを使用してSelenium WebドライバーAPIを使用しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











LaravelのバックエンドでReactアプリを構築する:パート2、React
