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

JPAでのリレーション(アノテーション使用)

JPAでリレーションを管理するとき、最初はアノテーションでやろうとしたんですが、結局やり方がわからずコンストラクタ式をかいて対処してました。 JPAでのリレーションに関して 外部キー制約があるやり方は …

no image

CIことはじめ

業務でJavaのテキスト変換ツールを作成。 プログラムよりもCIツールを使って他人の環境下で正常に稼動させるためにどうするかの調査に時間かかりましたね。 今回やりたかったことは下記の通りです。いわゆる …

no image

依存ライブラリを含むプログラムのjar化に関して

以前、jar化する場合のpomの記述方法について書いたのですが、一部記述が正しくなかったようです。 mavenでのjarファイル作成 この方法でやってもjarファイルを単独で取り出すとNoClassD …

no image

データベース文字コード対策他

Contents1 JDBC文字化け対策2 BigDecimal2.1 ソース2.2 参考リンク3 CreateQuery4 jsfのconvertNumber JDBC文字化け対策 データベースがu …

no image

Streamでの特定条件化のカウント&合計値算出

Java8、streamで値を抽出し、カウントと合計値の算出について、小ネタです。 一番多いのがList<Map>タイプの値の検出です。 [crayon-5f9d9359d83262615 …