Geckodriverをダウンロード Firefox & Selenium
⚡ スマートサマリー
GeckoDriver Firefox and Selenium W3C WebDriverクライアントとMozilla間のプロキシとして機能します Firefoxコマンドを MariONETTEプロトコル。このガイドでは、インストール、初期化方法、サンプルコード、よくある例外、およびコア互換性の利点について説明します。

GeckoDriver とは何ですか Selenium?
Geckoという用語は、Mozillaに組み込まれているウェブブラウザエンジンを指します。 Firefox ブラウザ。GeckoDriver は WebDriver 対応クライアント間のプロキシとして機能します (Eclipse, NetBeans, IntelliJ IDEAなど)とMozilla Firefox ブラウザ。つまり、GeckoDriverはブラウザとブラウザ間のリンクとして機能します。 Selenium WebDriverテストとMozilla Firefox.
作業前 Selenium 3、Mozilla Firefox ブラウザは、 Selenium。 後の Selenium 3. テスターは使用するスクリプトを初期化する必要があります Firefox GeckoDriverを介して明示的に。 Selenium W3C WebDriver プロトコルを使用して GeckoDriver にリクエストを送信し、GeckoDriver はそれをプロトコルに変換します。 Mariオネット。 Firefox そしてコマンドを理解する transmitテッドの Marionetteプロトコルフォーマットを適用し、それを実行します。
GeckoDriverを使用する利点
Selenium WebDriver バージョン 2.53 は Mozilla と互換性がありません Firefox バージョン47.0以降。レガシー Firefox 以前のMozillaで使用されていたドライバー Firefox ビルドは廃止され、現在使用できるのは GeckoDriver の実装のみです。したがって、テスターは Mozilla 上で自動テストを実行するために GeckoDriver を使用する必要があります。 Firefox バージョン 47.0 以上。
従来のドライバーと比較してGeckoDriverを使用する主な利点 Firefox 運転手は 互換性GeckoDriverは W3C WebDriver プロトコル と通信する SeleniumW3CはWebDriverの普遍的に定義された標準です。これはつまり Selenium 開発者は、ブラウザのリリースごとに新しいドライババージョンを作成する必要はありません。同じ WebDriver 実装を複数のブラウザバージョンで使用できるため、GeckoDriver は従来の WebDriver よりも推奨されています。 Firefox ドライバ。
GeckoDriver をダウンロードしてインストールする方法 Selenium
GeckoDriverは実行ファイルとして配布されており、システムに直接ダウンロードできます。以下の手順に従ってGeckoDriverをダウンロードしてインストールしてください。 Selenium オートメーション。
ステップ1) 適切なバージョンを選択します。
公式リリースページにて https://github.com/mozilla/geckodriver/releasesご使用のオペレーティングシステムとアーキテクチャに合った適切なGeckoDriverビルドを選択してください。
ステップ2) ExtracZIPファイルをダウンロードしてください。
ZIPファイルのダウンロードが完了したら、tracその内容をあなたのコンピューター上のフォルダーに保存してください。
ステップ3) 運転手の位置をメモしておいてください。
フォルダーパスを記録してくださいtracドライバーをtedします。この場所は、後でテストスクリプトからドライバーをインスタンス化するために使用されます。
GeckoDriverを初期化する方法
GeckoDriverを初期化するには3つの異なる方法があります Selenium テストスクリプト。テストフレームワークに最適なものを選び、 Selenium バージョン。
1. DesiredCapabilities の使用
まず、GeckoDriverのシステムプロパティを設定します。
構文:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
例:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
次に、希望する機能を設定します。希望する機能は、 Selenium 自動テストを実行するために必要なブラウザ名、バージョン、およびオペレーティングシステムを把握します。以下は、DesiredCapabilitiesクラスを使用してGeckoDriverを設定するコードです。
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
完全なコードは次のとおりです。
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2. 使用方法 Mariオネットプロパティ
GeckoDriverは、以下に示すように、marionetteプロパティを使用して初期化することもできます。
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
上記の方法で GeckoDriver を初期化すると、Desired Capabilities コードは 必要。
3. 使用方法 Firefoxオプション
モジラ Firefox バージョン47以降では Mariレガシーシステムとしての onette ドライバー。これを利用して、 Marionetteドライバは以下のように呼び出すことができます Firefox 選択肢は以下のとおりです。
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code 打ち上げ用 Firefox GeckoDriverを使用する
以下 JUnit-ベースの例では、完全な実行可能な Selenium 起動するテスト Firefox GeckoDriver を介してデモに移動します URL.
package com.guru99.demo;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
public class GeckoDriverDemo {
String driverPath = "D:\\Guru99Demo\\GeckoDriver.exe";
public WebDriver driver;
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
driver = new FirefoxDriver(capabilities);
}
@Test
public void navigateToUrl() {
driver.get("https://demo.guru99.com/selenium/guru99home/");
}
@After
public void endTest() {
driver.quit();
}
}
Code 説明
@Beforeメソッド
最初に、GeckoDriver のシステム プロパティを geckodriver.exe のダウンロード場所に設定しました。また、marionette プロパティを true に設定しました。 Selenium 使用 MariGeckoDriverと通信するためのonetteプロトコル。最後に、 Firefox Desired Capabilitiesオブジェクトを使用するブラウザインスタンス。
以下の記述によって、この設定が実現されます。
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
@試験方法
ユーザー指定の場所へ移動します URL ビルトインを使用して get によって提供される方法 Selenium 以下に示すWebDriver。
driver.get("https://demo.guru99.com/selenium/guru99home/");
@Afterメソッド
最後に、ブラウザインスタンスを閉じます。 quit 方法。
driver.quit();
非Gecko用のスクリプトをGecko用に変更する
以前使用されたGeckoDriver以外のスクリプト Selenium 3つは簡単でした。 Firefox ドライバーを使用し、インスタンス変数を使用しました。
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
GeckoDriver用のスクリプトに変換するには、geckodriver.exeの場所を指定するコードを1行追加するだけで済みます。
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
GeckoDriverの使用中に発生した一般的な例外
以下は、GeckoDriverの使用中に発生する一般的な例外とその解決策の一覧です。



