Selenium(セレニム)

 ここでは、Selenium(セレニウム)をiDempiere(アイデンピエレ)で使用するための初歩的な手順をまとめています。

SeleniumをFireFoxにインストールする

 SeleniumはFireFoxのプラグインとして発展してきたという経緯から、ここではFireFox上でSeleniumを使用する事を前提に記述していきます。

"http://docs.seleniumhq.org/download/"にアクセスして、Seleniumをインストールして下さい。

Seleniumのダウンロード
Seleniumのダウンロード

 最新のSeleniumのバージョンをクリックするとインストールが開始されます(2014年2月現在)。

 インストールが完了するとFireFoxの再起動が促されますので、再起動して下さい。そうすると、画面右上上部にSelenium IDEのアイコンが追加されています。

HTMLタグのID属性の値を固定する

Web-UIのHTMLタグのID属性の値について

 iDempiereのWeb-UIは、使用しているZKフレームワークの仕様により、HTMLタグのID属性の値が、アクセスの都度(ログイン毎)に異なります。この仕様は通常運用している範囲では特に意識するような事ではないのですが、Seleniumを使って自動テストしようとする際には、アクセスする要素を特定できないため、ID属性の値を固定化する必要があります。

ランダムなID属性:ログイン画面でブラウザのボタンでリフレッシュ(リロード)する度に、ID属性が変わるのを確認する事ができます。
ランダムなID属性:ログイン画面でブラウザのボタンでリフレッシュ(リロード)する度に、ID属性が変わるのを確認する事ができます。

HTMLタグのID属性の値を固定化する方法

 Eclipseの実行の構成で、server.product.functionaltestを選択し、実行するとID属性の値を固定してiDempiereを起動する事ができます。

実行の構成:server.product.functionaltest
実行の構成:server.product.functionaltest
固定されたID属性の値
固定されたID属性の値

Seleniumuによる操作手順の記録

 HTMLタグのID属性の値を固定化したら、FireFoxでSeleniumu IDEを起動させます。

Selenium IDE
Selenium IDE

 操作を記録したら、"Java / JUnit4 / WebDriver"形式でエクスポートします。そうするとJavaのクラスファイルが作成されます。

テストケースのエクスポート
テストケースのエクスポート

Eclipseからテストケースを実行する

 Selenium IDEからエクスポートしたjavaのクラスを少し加工して、Eclipseからテストケースを実行します。

テストケースのjavaクラスの加工

Eclipse パッケージエクスプローラー
Eclipse パッケージエクスプローラー

 Selenium IDEからエクスポートしたjavaのクラスを、"org.idempiere.ui.zk.selenium"プロジェクトの"test"パッケージにコピーします。

 

 コピーしただけではエラーが表示されて使用できませんので、エラーを修正します。主なエラー対応は次の通りです。

  • packege 宣言を修正する
  • AbstractTestCaseを継承する
  • オーバーライドしているメソッドのアクセス修飾子に矛盾が無いように修正する

JUnitを使用して実行する

 テストケースのJavaクラスの加工が完了したら、そのjavaクラスを右クリックして、"実行 -> JUnitテスト"を選択します。問題がなければ、FireFoxが起動して、記録した操作が自動実行されます。

JUnitを使用してテストケースを実行する
JUnitを使用してテストケースを実行する

FireFoxのバージョン問題について

 FireFoxの使用しているバージョンが最新版だったりすると、FireFox WebDriverのバージョンアップがついていけずに、正しくテストできない事があります。そのような場合は、FireFoxをダウングレードする必要があります。2014年2月現在、私が試した中ではFireFoxのバージョン21であれば、Seleniumが動作する事を確認しています。

FireFoxアドオンマネージャ
FireFoxアドオンマネージャ

 FireFoxのダウングレードは下記リンク先より、ダウングレードしたいFireFoxのバージョンをダウンロードし、インストールするだけです。

 FireFoxをダウングレードする際には、自動更新しないようにFireFoxのオプションの設定を確認して下さい。

FireFoxのオプション設定
FireFoxのオプション設定

参考サイト

関連するコンテンツ