Selenium WebDriverを利用したテスト その1


目次

初めまして。ソフトウェア開発部の川下といいます。

今回は Selenium WebDriver(Selenium 2.0)を利用したテストの自動化についてです。

Seleniumは2.0系でWebDriverを統合して、より柔軟なテストができるようになりました。

javaのユニットテストから実行する方法をここでは紹介します。


WebDriverの使い方をここでは3つに分けて紹介させてもらいます。

1.WebDriverを生成する

2.指定のURLへアクセスする

3.結果を処理する

です。


1. WebDriverを生成する。

WebDriverはブラウザ操作テスト用に切り出された共通インターフェースです。

以下の3種類の処理を行うためのメソッドを提供しています。

1.Control of the browser itself(ブラウザ事態の制御)

2.Selection of WebElements(WebElementsの選択 ※WebElementsに関しては後述)

3.Debugging aids (デバッグ)

実装事体は各ブラウザごとに異なっています。

エミュレートしたいブラウザごとに対応するDriverを選択します。

Firefox -> FireFoxDirever

Chrome -> ChromeDriver

InternetExplorer -> InternetExplorerDriver

といった感じです。

また、ブラウザの細かい挙動の違いを気にしないのであれば、

HtmlUnitDriver (最軽量/高速)を使うこともできます。

WebDriverの生成は以下のように行います。

proxy(proxy-addreses, proxy-port)のところは必要なら設定してください。


2. 指定のURLへアクセスする

cookieを利用する場合は、以下のようにセットできます。


3. 結果を処理する

WebDriverでアクセスすると、結果として、

DOMの要素(を操作するための WebElementクラスのインスタンス)

現在のURL

HTMLソース

タイトル

等を取得することができます。


JUnitから走らせてみる

次にJUnitから走らせてみましょう。

テスト用のデータを作成して登録 → 画面に表示されていることをアクセスして確認する

ようなテストを想定しています

JUnitから走らせるために今回は2つクラスを用意します。

サンプル実装なので、URLや未実装の部分は必要に応じて置き換えてください。

あとはEclipseのコンソールなどから、JUnitを実行してもらうと

自動的にブラウザが立ち上がり、試験が実施できます。

(※ 今回はhtmlソースに指定した文字列が含まれているか でチェックしています。)

とても便利なので、ぜひ一度、試してみてください。