skillup

技術ブログ

Java

Seleniumでの画面テスト

投稿日:

普段テストはJunitで単体テストを書いていますが、画面からのテストなどは当然チェックできません。

フレームワークだとどうしても内部構造がわからず画面から直接うごかして確認しなくてはいけないようなケースも出てきます。

目視とはいえ、テストデータの取込→入力ぐらいは自動化できているとやはり便利です。

このような画面からのテストの場合、Seleniumを使うことが一般的だと思います。

Firefoxを立ち上げて動かすパターンでもよいですが(SeleniumIDE)、Javaのテストコードから起動して、値をソースから取込、ブラウザを稼働させることができます。

Seleniumのインストール

pom.xmlに下記のように依存関係を定義すればOKです。

注意点としてはバージョンにより結構不安定になるようで、ブラウザのバージョンアップなどには気を付ける必要があるようです。

現状の環境はFirefox38.0.5です。

テストコード

通常のテストコードとJunitを使って同じように記述して構いません。

下記が実際のサンプルです。

@Before,@Afterなどは通常通り使えます。

あとは画面のテキスト文字列を取得するメソッドなどもありますが、おいおい紹介していこうと思います。

また私は画面側をJSFで実装していますが、JSFで注意する点としてはinputのid=”hogehoge”などと設定しても画面に出力されるときは親の要素と結合してでてきます。

<form id=”foo”>
<input id=”hogehoge” ・・・・
</form>

のような場合、画面でみるとinputのidは”foo:hogehoge”になっています。

親要素のidがない場合、jsfが自動ではくidになります。

ちなみに下記リンクを参考にしました。

http://d.hatena.ne.jp/suzukij/20110828/1314549996

 

-Java
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ApacheCommonsのライブラリ

先日のエントリーでBeanUtilsが非常に使えるという話をしたのですが、それ以外にもApacheCommonsのライブラリには使えるものがかなりあります。 かなりあります、というかなぜ今まで使ってな …

no image

ページャープラグイン dataTable

レコードを一覧表示する上で意外と面倒くさいのがページャーでしょう。 自力で作成してもよいのですが、なかなかこれが面倒だったりします。 また近年ではリンクを踏ませずに、スクロールするだけで表示ができる形 …

no image

Optionalについて その1

Streamに続いて、Java8で新搭載された機能がOptional です。 Javaではnullの処理をいちいちしなくてはいけないのがいろいろと面倒ですが、Optionalの機能をうまく使うことで可 …

no image

JSF リダイレクト後のメッセージ&disabled=true

少々細かいですがJSFネタです。 Contents1 リダイレクト後のメッセージ2 h:commandbutton disabled=trueについて リダイレクト後のメッセージ JSFからManag …

no image

入出力操作

Javaの出力処理について書きます。 下記リンクが非常に詳しかったので、これをもとにまとめてみたんですが、咀嚼できてないっぽい・・・・ もう1~2度修正がひつようかも。 http://www.arti …