selenium IDEで作ったテストケースでchrome,IEでもテストをする。
以前投稿した、http://qiita.com/takky/items/73b71b36dab037072e7c
でselenium IDEでテストケースを作成し、FireFoxでテストを行った。
しかし、Webプログラミングでは他のブラウザでもテストを行いたいという要望は発生する。
特にIE
そのため、selenium IDEで作ったテストケースで他ブラウザでもテストを行えるようにする。
環境準備
eclipse
DL
eclipseをダウンロードする。日本語化されると便利なので、今回はPleiadesを使用する。
http://mergedoc.sourceforge.jp/
Eclipse 4.4 Luna Pleiades All in Oneを使用して、説明を行う。
ダウンロードするバージョンは Javaが使えればいいので、Javaで。またOSが64bitだったので64bitのStandard Editionを使用した。バージョンはお好みで。
インストール
zipなので解凍すればいいが、ファイル名が長くて解凍ができない場合があるので、可能であればCドライブ直下でa.zipのようにして解凍するとよい。その後、好みのディレクトリに配置する。
WebDriver
Java用
http://docs.seleniumhq.org/download/ からJava用のWebDriverを DLして、解凍しておく。
IE用
http://docs.seleniumhq.org/download/ の The Internet Explorer Driver Serverから使用中のIEにあわせたbitのDriverをDL、解凍する。
その後IEを開いて、ツール→インターネットオプション→・セキュリティタブから保護モードを有効にする(Internet Explorerの再起動が必要)にチェックを入れる。
また、追加設定が必要。
https://code.google.com/p/selenium/wiki/InternetExplorerDriver#Required_Configuration
のRequired Configurationを参考に、使用しているversionにあわせて、追加設定を加える。
IE11の場合のみレジストリの追加が必要なので注意。
chrome
https://sites.google.com/a/chromium.org/chromedriver/downloads
から任意のバージョンで、OSに合わせたChromeDriverをDL、解凍する。
上記3ファイルは使いやすいように任意の場所に設置する。
例えばC:\WebDriverのように。
selenium IDEで作ったテストケースのエクスポート
作ったテストケースをファイル→テストケースをエクスポート→Java/JUnit4/WebDriverを選択してエクスポートする。
テストケース実行
初期設定
Eclipseを開いてファイル→新規Javaプロジェクトで任意のプロジェクト名をつけて「次へ」
次のページでライブラリータブを選択し、外部Jarの追加でJava用のWebDriverで解凍したしたディレクトリ配下の者をすべて追加する。
そして、完了を押す。
もし、ここで設定を忘れた場合はパッケージエクスプローラで今回作成したプロジェクトを右クリックして、プロパティー→Javaのビルド・パス
→ライブラリーから同様に外部Jarが追加できる。
テストファイルの読み込み。
パッケージエクスプローラのsrcに対してエクスポートしたテストケースをドラッグアンドドロップする。
すると、図のように選択肢が現れる。今回はコピーする。
ファイルを開く
src/(デフォルト・パッケージ)/Test.java
のようにコピー or リンクが貼られるので、開く。
すると赤下線でエラーがでる。
これは、デフォルトでは、com.example.testsというパッケージ配下に存在している前提でエクスポートされているからである。
そのため、その一行を消去するかパッケージを作成して、その配下に対象ファイルを移動させれば、アラートは消える。
テスト実行
実行→実行 もしくは Ctrl+F11でテストが実行できる。
うまく設定ができていればFireFoxが立ち上がり自動でテストを行ってくれる。
chromeの場合
driver = new FirefoxDriver();をコメントアウトして
以下の文を追記する
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.binary", "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe");
System.setProperty("webdriver.chrome.driver", "C:/Users/Chromedriver.exe");
// chromeDriverのパス
driver = new ChromeDriver(capabilities);
chromeのファイルパスやDLして解凍したChromedriverのパスは適宜変更する。
そして、実行するとChromeが立ち上がり自動でテストを行う。
IEの場合
FireFox/Chromeの記述をコメントアウトして
以下の文を追加する。
File file = new File("C:/Users/IEDriverServer.exe"); //DLして解凍したIEDriverServerのパス
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
driver = new InternetExplorerDriver();
IEdriverのパスを適宜変更して、実行するとIEが立ち上がり自動でテストを行う。
まとめ
FireFoxのIDEでテストケースを作ってしまえば、少しの工夫で使いまわせるのでかなり便利にテストが実行可能