Maven で Selenium 2 を使用する方法
カテゴリ
Selenium 2 を使用するにはいくつかの方法があります
- Selenium 1.x のレガシーコードがない場合は、ChromeDriver、HtmlUnitDriver、FirefoxDriver、InternetExplorerDriver などの新しい WebDriver 実装を直接使用することをお勧めします。これらは、使いやすく、学習しやすい API を提供します。
- Selenium 1.x のレガシーコードがある場合でも、よく知られている DefaultSelenium クラスまたは新しい WebDriverBackedSelenium を使用できます。WebDriverBackedSelenium は DefaultSelenium を拡張したものですが、内部的には WebDriver 実装のいずれかを使用します。
どちらのオプションを選択する場合でも、Maven を使用したい場合は、pom.xml に次の依存関係を追加するだけです。
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium</artifactId>
<version>2.0a5</version>
</dependency>
特定の WebDriver 実装(FirefoxDriver など)のみを使用することがわかっている場合は、selenium アーティファクト(すべての WebDriver 実装とサポートクラスへの依存関係がある)に依存する必要はありません。代わりに、必要なアーティファクトのみに依存関係を追加できます。例:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>2.0a5</version>
</dependency>
WebDriver 実装を使用する場合、Selenium サーバーを起動する必要はありません。ブラウザは直接起動され、リモート制御されます。
ただし、DefaultSelenium(または RemoteWebDriver 実装)を使用している場合は、Selenium サーバーを起動する必要があります。
最良の方法は、スタンドアロン Selenium サーバー jar をダウンロードして使用することです。
さらに、pom.xml に次の依存関係を追加すると、Selenium サーバーを独自のプロジェクトに埋め込むこともできます。
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>2.0a5</version>
</dependency>
これで、SeleniumServer インスタンスを自分で作成して起動できます。
selenium-server アーティファクトには servlet-api-2.5 アーティファクトへの依存関係があることに注意してください。プロジェクトが Web アプリケーションコンテナで実行される場合は、これを除外する必要があります。
これで、Maven で Selenium 2 を使用する方法について知っておく必要のあるすべてを網羅できたと思います。
Michael