自分はJava使いではないので、Eclipseもほとんど使ったことがない状態から調査のために環境を作った時の備忘録です。
色々と検索しましたが日本語のサイトが意外に少ないため、2015.2時点で動く手順を残しておきます。
まえがき
WebテストでSeleniumIDEを以前から使用していました。
が、Selenium2 になってテストスクリプトをどの言語で書くか?となったとき悩みました。
「テストスクリプトはJavaで」とよく聞くのですが、開発でJavaを使用している人は環境も既にあり言語知識も持っているため問題ないですが、テストのために最初から環境を作る場合において、コンパイル言語を採用するというのは色々とコストが高いと思います(あくまで個人の意見です)
で、一部で話題の groovy+Gebです。
事前準備
groovyの実行には java JDKが必要です
こちらを参考にさせていただきました(2015/2/3付の記事です)
インストールと実行(プログラミング入門 with Groovy)
http://qiita.com/saba1024/items/66c7154608ed52363e8f
コーディングでは IDEを利用すると補完機能などが使えるためEclipseをインストールしています。
Eclipse Luna4.4に下記のプラグインをマーケットプレイスからインストールしました。
Groovy/Grails ToolSuite (GGTS)for Eclipse Luna(4.4) 3.6.3.RELEASE
Gradle IDE Pack3.6.x, 0.17
バージョンに一致したものを使ったほうが良いのか?また、Suiteと単品どちらが良いのか判断がつかないのですが、このあたりどのように判断すれば良いのでしょう??
また、Eclipse自体が重たいためこれを使わずに実行できる環境の調査については別途行いたいと思っています。
プロジェクトの作成
まず Gradleプロジェクトを新規作成
次に gradleの設定ファイルになる build.gradeを作成します。
apply plugin: 'groovy'
apply plugin: 'eclipse'
repositories { mavenCentral() }
dependencies {
compile 'org.seleniumhq.selenium:selenium-firefox-driver:2.44.0'
compile 'org.seleniumhq.selenium:selenium-support:2.43.1'
compile 'org.gebish:geb-core:0.10.0'
}
これを実行すると環境(依存ファイルなどを揃えてくれる)が出来上がります。
gradleプロジェクトで作成したので src/main/java src/main/testといったディレクトリ構成かつ サンプル パッケージが作成されるため、適宜削除なり、追加なりをします。
これで準備完了です。
###はまったところ
build.gradeを実行しようとしても タスクを選ぶことができず散々悩んだのですが、build.gradelを選んで コンテキストメニューの中の Gradelから 全てをリフレッシュ とすると、実行するタスクが表示されるようになります。
Gebについて
groovyという言語でテストスクリプトを書くのですが、とりあえずブラウザを起動し、サイトを開いて操作するといった程度であればなんとなくできそうです。
Javaでテストスクリプトを記述するよりも簡易に書けるのはこのGebというライブラリーのおかけでしょう。
import geb.Browser
Browser.drive {
go 'http://www.yahoo.co.jp'
$('input[name=p]').value('groovy')
assert $('input[name=p]').value() == 'groovy'
}
つい先だって1月31日に開催された勉強会の資料があまりに充実している+公式のドキュメントも英語とはいえわかりやすいので大変助かります。
第1回 Geb勉強会の資料
http://www.slideshare.net/youtaroutakahashi/what-makes-geb-groovy
公式のドキュメント
http://www.gebish.org/manual/current/