この記事では、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 サイトの他の関連記事を参照してください。

この記事では、PHPについて説明し、その完全なフォーム、Web開発での主要な使用、PythonとJavaとの比較、および初心者の学習のしやすさについて説明します。

PHPは、$ \ _ postおよび$ \ _を使用してフォームデータを処理し、検証、消毒、安全なデータベースインタラクションを通じてセキュリティを確保します。

この記事では、PHPとASP.NETを比較して、大規模なWebアプリケーション、パフォーマンスの違い、セキュリティ機能への適合性に焦点を当てています。どちらも大規模なプロジェクトでは実行可能ですが、PHPはオープンソースであり、プラットフォームに依存しませんが、ASP.NET、

PHPの症例感度は変化します:関数は鈍感であり、変数とクラスは感度があります。ベストプラクティスには、一貫した命名と、比較のためにケース非感受性関数を使用することが含まれます。

この記事では、PHPのページリダイレクトのさまざまな方法について説明し、ヘッダー()関数に焦点を当て、「すでに送信されているヘッダー」エラーなどの一般的な問題に対処します。

記事では、PHPでヒントを示すタイプについて説明します。これは、機能内の予想データ型を指定する機能です。主な問題は、タイプの施行を通じてコードの品質と読みやすさを改善することです。

この記事では、PHPのデータベースアクセスの拡張機能であるPHPデータオブジェクト(PDO)について説明します。これは、データベースの抽象化やより良いエラー処理など、準備されたステートメントとMySQLIに対する利点を通じてセキュリティを強化する上でのPDOの役割を強調しています。

記事では、PHP APIの作成とセキュリティについて説明し、LaravelなどのフレームワークやBest Security Practicesなどのフレームワークを使用して、エンドポイントの定義からパフォーマンスの最適化までの手順を詳細に説明します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

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

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

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ホットトピック









