ナレッジボックス

Pocket


ユニット戦隊テスティンガー!!Web Driverによるクロスブラウザテストの実行

前回のあらすじ

テスティングレッドのスミハラタツヤによって、Selenium(光線)の解説している最中に、
デグレード将軍が現れた。 デグレード将軍は、デグレード範囲拡大攻撃を行ったのであった。
テスティングレッドの攻撃(デバッグ)も虚しく、デグレード範囲が広がりを見せつつ合った時、
テスティングレッドは、Selenium-IDEを利用した人海戦術により、見事デグレード将軍を倒したのであった。。。

 

Web Driverによるクロスブラウザテストの実行

Selemium_vol2

 

レッド  「前回はSelenium-IDEのお陰でデグレード将軍を倒せたが、このままではいつか敗れる日がくるかもしれない・・・」

タッキ博士「レッド!」

レッド  「ん?その声は・・・タッキ博士!?」

タッキ博士「どうしたんじゃ、そんな難しい顔をして」

レッド  「タッキ博士、このままでは悪の軍団デスマーチにいつか敗れてしまうのではないでしょうか。。。」

タッキ博士「ぶはははは、そんな事で落ち込んでおるのか?」

レッド  「そんな事って!前回の戦い・・」

タッキ博士「お主は何にも知らないようじゃの。よし、わしが本当のSeleniumを教えてやろう」

レッド  「本当のSelenium?」

タッキ博士「そうじゃ、まずは最新兵器(Selenium2)のSelenium WebDriverについてじゃ!」

特徴

最新兵器であるSelenium2には、ブラウザテストを行うためのインターフェイスとして、環境適応設定(WebDriverインターフェイス)がある。 また、環境適応設定(WebDriverインターフェイス)を実装した、陸海空モード(各種ブラウザのWebDriver具象クラス)が存在する。 実行するブラウザごとに陸海空モード(具象クラス)を変更することで、同一コードで複数のブラウザテストに対応できるのじゃ。

 

レッド  「す、すごい・・・じゃあ、早速・・」

タッキ博士「まぁ待て、落ち着くんじゃ。まずはWebDriverを利用する環境作りじゃ。」

 

環境構築の手順

このサンプルでは、MavenとEclipseを利用する。

※MavenとEclipseのダウンロードと設定は事前に行っているものする。

 

まずは、下記のコマンドを実行し、Maveプロジェクトを作成する。

 

 

次に、自動生成されたpom.xmlのdependencies要素として下記を追加する。

Junit3の記述がある場合は削除する。

[pom.xmlのdependencies]

 

Eclipseのworkspaceで、初めてMavenで利用する場合は、下記のコマンドを実行し、Eclipseのクラスパス変数にM2_REPOを追加する。

 

workspaceがまだ作成されていない場合は、一度Eclipseを起動しworkspaceを作成しておく。

 

Eclipseのプロジェクトに変換する。

pom.xmlがあるディレクトリへ移動し、次のコマンドを実行する。

 

Eclipseプロジェクトに変換後、Eclipseから

「ファイル」→「インポート」→「既存プロジェクトをワークスペースへ」

でインポートする。

 

 

タッキ博士「これで準備は万全じゃ。陸(IE) 海(Firefox) 空(Chrome) のどんな環境であろうともテストができるぞい。」

レッド  「は、はい。それじゃ、ついに使うんですね!?」

タッキ博士「では使ってみるかのー。」

実装サンプル

タッキ博士「まずは、環境適応設定(WebDriver)を海モード(FirefoxDriver)にセットしてっと・・・」

タッキ博士「Googleで”test”文字列を検索でもしてみようかのー」

 

FirefoxでGoogleにアクセスし、「test」文字列を自動入力、検索結果画面表示

 

JUnitのソースを作成する。

テンプレートとして用意されている、AppTestクラスのtestAppメソッドを、以下のように書き換える。

 

 

このテストを実行すると、Googleでtestという文字列を検索し、検索結果画面のTitleが

期待通りの文字列になっていることを確認する。

 

タッキ博士「どうじゃ、環境適応設定(WebDriver)の実力は?」

レッド  「す、すげぇ。。。SUGEEEEEEEEEEEEEEEEEEEE!!!」

レッド  「これならどんな環境でも戦える!!!!」

タッキ博士「よしよし、良いリアクションじゃ。次回はSeleinum Gridについて教えよう!」

 

そして、テスティンガーは明日も世界平和のために戦うのであった、続く

 

 

関連記事

ユニット戦隊テスティンガーによる必殺兵器Selenium(光線)の解説

 


Pocket

お問合せ

開発に関するご相談/各種お問合せは下記まで。

TEL.06-4806-3470 月曜~金曜(祝日を除く)10:00~18:00
contact-dev@kronos-jp.net

技術情報

  • ナレッジボックス
採用