skillup

技術ブログ

Java

Seleniumでの画面テスト

投稿日:2015年6月27日 更新日:

普段テストは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になります。

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

Selenium WebDriver を利用して Webアプリケーションのテストをしてみる

-Java
-

執筆者:


comment

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

関連記事

no image

JSPでのインクルード

JSPで社内アプリを作る機会があったので、メモ。 基本的なこともまだわかっていないんですが、とりあえずでてきたものから紹介してきます。 インクルードから。 ヘッダー、フッターみたいな別々に分けたりする …

no image

instanceofとgetClassについて

Javaでの型の判定などに使われるinstance ofとgetClassについてメモしたいと思います。 Contents1 instance of2 getClass instance of A i …

no image

arquillianでの外部ライブラリ使用

現状、実務ではDBのテストでは基本的にarquillianを使っています。 arquillianとにかく、重いですね~。 まあglassfishを動かしているので仕方ないかもしれませんが、簡単なテスト …

no image

JSFでのCSVダウンロード機能

JSF+CDIでCSVダウンロード機能を実装するときの処理です。 結構、汎用的でいろんなところででてきますね。 Contents1 コード2 参考リンク コード [crayon-641dcd64e68 …

no image

jenkinsのオートデプロイ

久々にJavaやりました。 Contents1 やりたいこと2 ハマりポイント2.1 Antでのjobの設定2.2 jenkinsでビルドできない2.3 jenkinsのオートデプロイ2.4 SSHで …

アーカイブ