PHP および WebDriver 拡張機能: ページ要素の検出とアサーションを実装する方法
はじめに: Web アプリケーションの増加に伴い、自動テストの重要性がますます高まっています。テスト中に、ページ上の要素が存在し、その状態が期待どおりであることを確認する必要があります。この記事では、PHP および WebDriver 拡張機能を使用してページ要素の検出とアサーションを実装する方法を紹介します。
1. 準備
開始する前に、次の環境が設定されていることを確認する必要があります:
インストールWebDriver 拡張機能
端末で次のコマンドを実行して、WebDriver 拡張機能をインストールします。
$ composer require facebook/webdriver
WebDriver サーバーを実行します
端末で次のコマンドを実行して、WebDriver サーバーを起動します:
$ java -jar selenium-server-standalone-x.xx.x.jar
このうち、x.xx.x
は WebDriver サーバーのバージョン番号です。
2. ページ要素の検出
WebDriver の初期化
まず、Webdriver クラスをインポートし、WebDriver インスタンスを初期化する必要があります。次のコードをテスト ファイルに追加します。
<?php require_once('vendor/autoload.php'); use FacebookWebDriverRemoteDesiredCapabilities; use FacebookWebDriverRemoteRemoteWebDriver; use FacebookWebDriverWebDriverBy; $host = 'http://localhost:4444/wd/hub'; // WebDriver服务器地址 $capabilities = DesiredCapabilities::chrome(); // 选择浏览器 $driver = RemoteWebDriver::create($host, $capabilities);
Open URL$driver->get()
メソッドを使用して、対象となる URL を開きます。テストされました。例:
$driver->get('https://www.example.com');
要素が存在するかどうかを検出する$driver->findElement()
メソッドを使用して、要素に基づいて要素が存在するかどうかを検出します。セレクタ。要素が存在する場合、このメソッドは WebDriverElement
オブジェクトを返します。それ以外の場合は、NoSuchElementException
例外をスローします。次の例では、ID elementId
を持つ要素がページ上に存在するかどうかを検出します。
try { $element = $driver->findElement(WebDriverBy::id('elementId')); echo "元素存在"; } catch (Exception $e) { echo "元素不存在"; }
要素のテキスト コンテンツをアサートします
Use $ webElement-> getText()
メソッドは、要素のテキスト コンテンツを取得します。たとえば、要素のテキスト コンテンツが「Hello, World!」であるかどうかをアサートできます。
$webElement = $driver->findElement(WebDriverBy::id('elementId')); $text = $webElement->getText(); assert($text == 'Hello, World!', '元素文本内容不符合预期');
要素の属性値のアサート
Use$webElement-> ;getAttribute( )
メソッドを使用して要素の属性値を取得します。たとえば、リンクの href
属性値が「https://www.example.com」であるかどうかをアサートできます:
$webElement = $driver->findElement(WebDriverBy::tagName('a')); $href = $webElement->getAttribute('href'); assert($href == 'https://www.example.com', '链接的href属性值不符合预期');
3。 ## PHP および WebDriver 拡張機能を使用すると、ページ要素の検出とアサーションを簡単に実装できます。これは、ページ上の要素が存在し、期待どおりに動作することを確認するのに役立つため、自動テストにおいて非常に重要なステップです。
以上がPHP および WebDriver 拡張機能: ページ要素の検出とアサーションを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。