Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

WebDriver

この翻訳は不完全です。英語から この記事を翻訳 してください。

次世代の FirefoxDriver である Marionette は、もうすぐ完成します。 開発状況は ステータスページ で確認することができます。

開発チームが想定していない何かを壊していないことをよく確認してください。以下に導入に必要な手順を掲載します。

Selenium のインストール

Python

Selenium のインストール前に 仮想環境 を作りたい場合は下記を実行してください:

virtualenv env_name
source env_name/bin/activate

続いて Selenium 2.46.1 以上のインストールが必要となります。下記を実行してください。

pip install selenium

Ruby

Selenium をインストールする為に、 Ruby Gem が必要となります。

gem install selenium-webdriver

JavaScript (Node.js)

npm install selenium-webdriver

Marionette 実行ファイルの設置

他のブラウザベンダーからリリースされている Selenium 向けのドライバと同様に、 Mozilla がリリースする実行ファイルはブラウザと共に動作します。

ダウンロード

最新の実行ファイルは GitHub リリースページ から入手することができます。

プロジェクト名が GeckoDriver へ変わっても、多くの Selenium クライアントは古い名称のファイルを検索します。バイナリファイルの名前を 'wires' (古い名称) へ変更し、動作することを確認してください。

システムパスへの登録

Selenium クライアントバインドは GeckoDriver 実行ファイルの配置場所をシステムパスから検索します。システムパスへ実行ファイルが格納されているディレクトリを追加してください。

Unix システムでは bash 互換のシェルを使用している場合、下記の手順でシステムの検索パスを追加することができます:

export PATH=$PATH:/path/to/directory/of/executable/downloaded/in/previous/step

Windows では Path システム変数の更新が必要となります。実行ファイルの完全なディレクトリパスを Path システム変数へ登録してください。主要な手順は Unix と同様です。

Marionette を使用するテストの更新

Marionette をテストで使用する為に desired capabilities の更新が必要となります。

Python

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities.FIREFOX

# Python バインドへ Marionette を使用することを通知します。
# リモートエンドに何を使用しているのか Selenium が自動検出するようになる為、
# これは将来的には重要ではなくなります。 
caps["marionette"] = True

# Firefox DevEdition または Nightly のパス。
# Firefox 47 (安定板) は現在サポートしていません。
#
# Mac OS ではアプリケーションパッケージ内部のバイナリ実行ファイルを指定します。
# 例 /Applications/FirefoxNightly.app/Contents/MacOS/firefox-bin
caps["binary"] = "/usr/bin/firefox"

driver = webdriver.Firefox(capabilities=caps)

Ruby

# Ruby バインドへ Marionette の使用を通知します。
# リモートエンドに何を使用しているのか Selenium が自動検出するようになる為、
# これは将来的には重要ではなくなります。 
driver = Selenium::WebDriver.for :firefox, marionette: true

JavaScript (Node.js)

const webdriver = require('selenium-webdriver');
const Capabilities = require('selenium-webdriver/lib/capabilities').Capabilities;

var capabilities = Capabilities.firefox();

// Node.js バインドへ Marionette の使用を通知します。
// リモートエンドに何を使用しているのか Selenium が自動検出するようになる為、
// これは将来的には重要ではなくなります。 
capabilities.set('marionette', true);

var driver = new webdriver.Builder().withCapabilities(capabilities).build();

Java

Webdriver driver = new MarionetteDriver();

.NET

var driver = new FirefoxDriver(new FirefoxOptions());

RemoteWebDriver の使用

RemoteWebDriver を各言語で使用する場合は Selenium Grid 内で Marionette を使用します。

Python

caps = DesiredCapabilities.FIREFOX

# Python バインドへ Marionette の使用を通知します。
# リモートエンドに何を使用しているのか Selenium が自動検出するようになる為、
# これは将来的には重要ではなくなります。 
caps["marionette"] = True

driver = webdriver.Firefox(capabilities=caps)

Ruby

# Ruby バインドへ Marionette の使用を通知します。 
# リモートエンドに何を使用しているのか Selenium が自動検出するようになる為、
# これは将来的には重要ではなくなります。 
caps = Selenium::WebDriver::Remote::Capabilities.firefox marionette: true

driver = Selenium::WebDriver.for :firefox, desired_capabilities: caps

Java

DesiredCapabilities capabilities = DesiredCapabilities.firefox();

// Java バインドへ Marionette の使用を通知します。 
// リモートエンドに何を使用しているのか Selenium が自動検出するようになる為、
// これは将来的には重要ではなくなります。 
capabilities.setCapability("marionette", true);

WebDriver driver = new RemoteWebDriver(capabilities); 

.NET

DesiredCapabilities capabilities = DesiredCapabilities.Firefox();

// Tell the .NET bindings to use Marionette.
// .NET バインドへ Marionette の使用を通知します。 
// リモートエンドに何を使用しているのか Selenium が自動検出するようになる為、
// これは将来的には重要ではなくなります。 
capabilities.SetCapability("marionette", true);

var driver = new RemoteWebDriver(capabilities); 

バグの報告

問題が発生した場合は気軽に Bugzilla へご報告ください。 実装状況の確認は ステータスページ を参照してください。

ドキュメントのタグと貢献者

 このページの貢献者: Jhonny-Bravo
 最終更新者: Jhonny-Bravo,