求められる能力 Selenium webdriver
⚡ スマートサマリー
望ましい能力とは Selenium ブラウザ、プラットフォーム、デバイスの設定をキーと値のペアとして保存するクラスで、単一のテストスイートでさまざまな環境をターゲットにすることができます。 Selenium グリッド、クラウドグリッド、モバイルオートメーション。
求められる能力とは何でしょうか?
望ましい機能は、 Selenium Web アプリケーションのクロスブラウザ テストを実行するためにブラウザのプロパティを設定するために使用されます。機能はキーと値のペアとして保存され、これらの機能はブラウザ名、ブラウザのバージョン、システム内のブラウザ ドライバのパスなどのブラウザ プロパティを設定して、実行時のブラウザの動作を決定するために使用されます。
- 必要な機能を使用して、 Selenium ウェブドライバー。
- 次のようにドライバーインスタンスを設定できます Firefox必要な機能を使用してドライバー、ChromeDriver、InternetExplorerDriver を実行します。
バージョンノート: Selenium 4 DesiredCapabilities をブラウザのオプション クラス(ChromeOptions)に置き換えます。 FirefoxOptions、EdgeOptions、InternetExplorerOptions。以下の例では、元の構文を維持しています。
なぜ望ましい能力が必要なのでしょうか?
望ましい機能は、 テスト シナリオは特定のテスト環境で実行する必要があります。 テスト環境には Web ブラウザーを使用できます。 モバイル デバイス、モバイルエミュレータ、モバイルシミュレータなど。Desired Capabilitiesクラスは、テストスクリプトで使用する環境をWebDriverに伝えるのに役立ちます。
このページ後半で説明する DesiredCapabilities クラスの setCapability メソッドは、 Selenium グリッド。これは、 並列実行 異なるマシン構成において。
例:グリッド(下記参照)。
ブラウザのプロパティ (例: Chrome、IE)、プラットフォーム名 (例: Linux、 Windows)実行中に使用される テストケース.
モバイル オートメーションの場合、さまざまな種類のモバイル デバイスでテストを実行するため、モバイル プラットフォーム (例: iOS、 Android) プラットフォームのバージョン (例: 3.x、4.x) Android)を設定できます。
以下のエミュレーターの例では、プラットフォームとしてAndroid、プラットフォームバージョンとしてIce Cream Sandwich(4.x)が設定されています。
望ましい機能は、次のような場合にさらに役立ちます。
- モバイル アプリケーション オートメーションでは、ブラウザーのプロパティとデバイスのプロパティを設定できます。
- In Selenium 異なるオペレーティングシステムやバージョンの異なるブラウザでテストケースを実行したい場合に、Gridを使用します。
必要な機能の種類 方法
ここでは、さまざまな Desired Capabilities メソッドと、そのうちの 1 つである 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() メソッド
Desired Capabilities クラスの setCapability() メソッドは、デバイス名、OS 名とバージョン、ブラウザ名とバージョン、テスト対象アプリの絶対パス (.apk ファイル) など、テスト環境のプロパティを設定するために使用されます。 Android テスト中のアプリ)、アプリのアクティビティ ( Android)と appPackage( Java).
「setCapability メソッド」 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」)
バージョンノート: Selenium 4.6以降では、ドライバーを自動的に解決します Selenium マネージャーの場合、System.setProperty はオプションです。以下の過去のコードは変更されていません。
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(); } }
Code 説明:
上記のコードでは、
- インポートステートメントは、必要なパッケージをインポートします。 Selenium WebDriver、Internet Explorerドライバーに必要なパッケージ、および必要な機能のためのパッケージ。
- setCapability は、さまざまな機能を入力変数として受け取ります。これらの機能は、Web ドライバーによって目的の環境でアプリケーションを起動するために使用されます。
- setProperty は、ドライバの場所を示すパスを設定するために使用されます。WebDriver は、そのパスに基づいて必要なドライバを検索します。
- Gmail 「get」メソッドを使用して、Internet Explorerブラウザでウェブサイトが開かれます。
出力:
Internet Explorerブラウザでのテストケースは、 Selenium ウェブドライバー。


