求められる能力 Selenium webdriver

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

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

  • 必要な機能を使用して、 Selenium ウェブドライバー。
  • 次のようにドライバーインスタンスを設定できます Firefox必要な機能を使用してドライバー、ChromeDriver、InternetExplorerDriver を実行します。

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

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

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

例: グリッド

求められる能力 Selenium webdriver

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

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

求められる能力 Selenium webdriver

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

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

  • モバイル アプリケーション オートメーションでは、ブラウザーのプロパティとデバイスのプロパティを設定できます。
  • In 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 クラスの .apk ファイルは、デバイス名、OS 名とバージョン、ブラウザ名とバージョン、テスト対象アプリの絶対パス (.apk ファイル) などのテスト環境のプロパティを設定するために使用されます。 Android テスト中のアプリ)、アプリのアクティビティ ( Android) および appPackage(in 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.gmail.comのウェブサイトを開くには Selenium ウェブドライバー。

以下がコードです。

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 そしてコンソールをチェックしてください。

出力:

上記のコードを実行すると、次のエラーがスローされます。このエラーは、ブラウザ ドライバ (上記の場合は 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.

解決策:

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

  • 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();
 }
  
}

コードの説明:

上記のコードでは、

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

出力:

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

まとめ

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

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