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

jenkinsのオートデプロイ

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

no image

O/Rマッパー iciqlについて

以前、このブログでも紹介したO/Rマッパーのiciqlについて、使い方や問題点がある程度わかったので書いておきます。 Contents1 インストール2 自動生成3 注意点3.1 Date型のインポー …

no image

JSFでのjQuery

JSFでのjQueryの取得 以前、Seleniumに関連したエントリーを書いたときにJSFではidが親要素を伴うと書きました。 例えば <form id=”form1″ …

no image

例外処理について

Javaの例外処理について書きます。 自分はPHPメインでやってきましたので、この例外についてはうろ覚えでした。 PHPだと例外処理はあるんですが、まああんまり使わなかったり、理解がいい加減でもなんと …

no image

入出力操作

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