Selenium WebDriver に必要な機能

求められる能力とは何でしょうか?

必要な機能 Web アプリケーションのクロスブラウザ テストを実行するためにブラウザのプロパティを設定するために使用される Selenium のクラスです。 機能はキーと値のペアとして保存され、これらの機能はブラウザ名、ブラウザのバージョン、システム内のブラウザ ドライバのパスなどのブラウザ プロパティを設定して、実行時のブラウザの動作を決定するために使用されます。

  • 必要な機能を使用して、Selenium WebDriver のドライバー インスタンスを構成することもできます。
  • 次のようにドライバーインスタンスを設定できます Firefox必要な機能を使用してドライバー、ChromeDriver、InternetExplorerDriver を実行します。

なぜ望ましい能力が必要なのでしょうか?

必要な機能 が必要となるのは、 テスト シナリオは特定のテスト環境で実行する必要があります。 テスト環境には Web ブラウザーを使用できます。 モバイル デバイス、モバイル エミュレーター、モバイル シミュレーターなど。Desired Capabilities Class は、テスト スクリプトでどの環境を使用するかを Web ドライバーに伝えるのに役立ちます。

また, setCapability メソッド DesiredCapabilities クラスの (チュートリアルの後半で説明します) は、Selenium Grid で使用できます。 これは、異なるマシン構成で並列実行を実行するために使用されます。

例: グリッド

Selenium WebDriver に必要な機能

これは、テスト ケースの実行中に使用されるブラウザーのプロパティ (例: Chrome、IE)、プラットフォーム名 (例: Linux、Windows) を設定するために使用されます。

モバイル オートメーションの場合、さまざまな種類のモバイル デバイスでテストを実行するため、モバイル プラットフォーム (例: iOS、Android) プラットフォームのバージョン (例: Android の 3.x、4.x) を設定できます。

Selenium WebDriver に必要な機能

上記のエミュレータの例は、プラットフォーム セットが Android、プラットフォーム バージョン セットが IceCream Sandwich (4.x) であることを示しています。

望ましい機能は、次のような場合にさらに役立ちます。

  • モバイル アプリケーション オートメーションでは、ブラウザーのプロパティとデバイスのプロパティを設定できます。
  • Selenium グリッドでは、オペレーティング システムとバージョンが異なる別のブラウザーでテスト ケースを実行する必要があります。

必要な機能の種類 方法

ここでは、さまざまなタイプの必要な機能メソッドを確認し、このメソッドの XNUMX つを使用する方法を見ていきます。setCapability メソッド」。

#1) getBrowserName()

public java.lang.String getBrowserName()

#2) setBrowserName()

public void setBrowserName(java.lang.String browserName)

#3) getVersion()

public java.lang.String getVersion()

#4) setVersion()

public void setVersion(java.lang.String version)

#5) getPlatform()

public Platform getPlatform()

#6) setPlatform()

public Platform setPlatform()

#7) getCapability() メソッド

DesiredCapabilities クラスの getCapability() メソッドを使用すると、システムで現在使用されている機能を取得できます。

public java.lang.Object getCapability(java.lang.String capabilityName)

#8) setCapability() メソッド

また, setCapability() メソッド Desired Capabilities クラスの は、デバイス名、OS 名とバージョン、ブラウザ名とバージョン、テスト対象アプリの絶対パス (テスト対象 Android アプリの .apk ファイル)、アプリなどのテスト環境のプロパティを設定するために使用されます。アクティビティ (Android の場合) と appPackage (Java の場合)。

「setCapabilityメソッド」 in Java には以下の宣言があります。

setCapability : public void setCapability(java.lang.String capabilityName,boolean value)
setCapability  :public void setCapability(java.lang.String capabilityName,java.lang.String value)
setCapability  :public void setCapability(java.lang.String capabilityName,Platform value)
setCapability  :public void setCapability(java.lang.String key,java.lang.Object value)

Selenium の設定機能の例

を実行する例を考えてみましょう。 テストケース Internet Explorer ブラウザで www.g を開きますmailSelenium Webdriver を使用した .com Web サイト。

Following コードです。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class IEtestforDesiredCapabilities {
  
 public static void main(String[] args) {
  
WebDriver driver = new InternetExplorerDriver();
 driver.manage().window().maximize();
 driver.get("http://gmail.com");
  
 driver.quit();
 }
  
}

次に、このコードを実行します Eclipse そしてコンソールをチェックしてください。

出力:

それはフォローを投げますwing 上記のコードを実行するとエラーが発生します。 このエラーは、ブラウザ ドライバ (上記の場合は IE) へのパスが設定されていないために発生します。Selenium コードでブラウザを見つけることができませんでした。

The path to the driver executable must be set by the webdriver.ie.driver system property; formore information, see http://code.google.com/p/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://code.google.com/p/selenium/downloads/list

Dec 11, 201212:59:43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib

WARNING: This method of starting the IE driver is deprecated and will be removed in selenium 2.26. Please download the IEDriverServer.exe from http://code.google.com/p/selenium/downloads/list and ensure that it is in your PATH.

Solution:

上記の問題の解決策は、エラー自体の警告セクションに記載されています。

  • 32 ビットまたは 64 ビット用の Internet ExplorerDriver スタンドアロン サーバーをダウンロードします。
  • ドライバーをシステム内の適切な場所に保存します。
  • を使用してドライバーのパスを設定します。 System.setProperty 方法。
  • これは、webdriver プロパティを使用して IE ドライバーを設定するために使用されます。 これは、システムの場所に保存されているドライバー実行可能ファイルを見つけるのに役立ちます。 (例:「C:\IEDriverLocation\IEDriver.exe」)
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class IEtestforDesiredCapabilities {
  
 public static void main(String[] args) {

//it is used to define IE capability 
 DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
  
capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE");
capabilities.setCapability(InternetExplorerDriver.
  INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);


System.setProperty("webdriver.ie.driver", "C:\\IEDriverServer.exe");
  
 //it is used to initialize the IE driver
 WebDriver driver = new InternetExplorerDriver(capabilities);
  
 driver.manage().window().maximize();

 driver.get("http://gmail.com");
  
 driver.quit();
 }
  
}

コードの説明:

上記のコードでは、

  • import ステートメントは、Selenium Web ドライバーに必要なパッケージ、Internet Explorer ドライバーに必要なパッケージ、必要な機能のパッケージをインポートします。
  • setCapability は、さまざまな機能を入力変数として受け取ります。これらの機能は、Web ドライバーによって目的の環境でアプリケーションを起動するために使用されます。
  • setProperty は、ドライバーが配置されているパスを設定するために使用されます。 次に、Web Driver は必要なドライバーを見つけます。
  • Gmail Web サイトは、「get」メソッドを使用して Internet Explorer ブラウザーで開きます。

出力:

Internet Explorer ブラウザ上のテスト ケースは、Selenium Webdriver を使用して正常に実行されます。

要約

Desired Capabilities クラスは、テストを実行できるブラウザ/環境の動作を定義する環境を設定するのに役立ちます。

これは、使用したい機能を備えたアプリケーションを希望の環境で起動するのに役立ちます。