eclipseからselenium WebDriverを使う
ウェブテストの自動化ってことで、seleniumIDEは以前から使っていましたが、繰り返しだったり、どこかを選択などなど細かい動きを制御するのはIDEじゃちょっと難しいみたい。そこでselenium WebDriverを使ってみる。いろんなインタフェイス(pythonやjavaやC++)なんかがあるようですが、あえて一度もコードを書いたことがないjavaでやってみる。といってもeclipseからですが。
必要なjarファイルをダウンロード
http://www.seleniumhq.org/download/ からselenium WebDriverのjava言語バインディングをダウンロード。
リンクをはると http://selenium.googlecode.com/files/selenium-java-2.37.0.zip これです。
ダウンロードしたらunzipして適当なディレクリへ置いておく。
eclipseで新規プロジェクトを作成
eclipseを起動して、ファイル→新規→Javaプロジェクトを選択。
プロジェクト名を適当に入力。今回は"selenium"としました。入力したら「完了」をクリック。
プロジェクトにseleniumの言語バインディングを追加
上記で作成した"selenium"プロジェクトがeclipseの左側画面に表示されるので、そこで右クリック→ビルドパス→外部アーカイブの追加をクリック。
先ほどダウンロードしてzipを展開したファイルのうち、
- selenium-server-2.37.0.jar
- lib以下のjarファイルすべて
を追加。
新規パッケージを追加
左側ペイン"selemium"で右クリック、新規→パッケージを選択。「名前」のところにパッケージ名を適当に入力して、「完了」をクリック。
今回は"jp.co.example.test"と入力。
クラスを作成
やっとコードを書くところまできました。
上記でできたパッケージ"jp.co.example.test"が左側ペインに表示されるので、これを右クリック→新規→クラスを選択。
「名前」のところに適当なクラス名を入れて「完了」をクリック。今回はExampleWebTestを入れました。
ソースを書く
上記で「完了」をクリックすると、ようやくコードを書く画面がでてきます。最初のコードはこんな感じ。
package jp.co.example.test; public class ExampleWebTest { /** * @param args */ public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ } }
これをこんな風に変更。
package jp.co.example.test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class ExampleWebTest { /** * @param args */ public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ WebDriver driver = new FirefoxDriver(); driver.get("http://www.example.co.jp"); driver.quit(); } }
これを実行すると、Firefoxが立ち上がって、指定したURLを表示してすぐ終了します。
1秒ほどスリープさせたいんですが、例外も同時に書かないといけないとか面倒。