ページ

2012年5月28日月曜日

Selenium IDEの実行とログ保存ガイド


Selenium IDEの実行とログファイルを保存する方法をまとめます。
(初心者向けに書きました)


・ テストケースを実行


1. Selenium IDEを起動して、ファイル(F)→テストケースを開く(O)をクリック

2.テストスクリプトを選択して開く

3.テストケースが読み込まれることを確認




4.実行ボタンとクリック


5.テストケースが全て実行できて失敗しなければ、Runs:1と Failures:0 と表示される




・ログウィンドウからコピーする場合

1.スクリプト実行後にフィルタしたいログ情報を選択


2.ログウィンドウにカーソルを移動して範囲選択(Ctrl+A)してコピー(Ctrl+C)する




特定の情報のみログとして出したい場合は、一度変数に格納して、
Jsから警告として表示させることで、きれいに情報を取り出すことができます。

※デバック、情報、エラーだと、ほかの情報と混在する可能性が高いので、警告が一番無難です。

例)
storeEval LOG.warn(storedVars['STORED_VAL']);

log.debug、log.info なども有効です。




・ログが保存できて何がうれしいのか?


Seleniumの利用方法を考えたときに、テストだけでなくWebの情報を自動収集することにも応用できます。
例えば特定クエリで表示されるGoogleのランキングを上位n件まで表示する など。


PythonやJavaでゴリゴリ書きますってひとには、あまり価値のない情報ですね、、、^^;


しかし、プログラムを全く知らない人でも、やり方さえわかればWebの情報収集が半自動化できることがSeleniumのいいところです。



2012年5月13日日曜日

5分でできるWebテスト自動化 - Jenkins x Selenium


いろいろあって、しばらく投稿さぼってました、、、^^;
ここ最近アウトプットをさぼり気味なので、今日からまた再開します。


さて、テストクラスタの方やWeb系エンジニアであれば、SeleniumというWebテストの自動化ツールについて聞いたり、実際に利用したことがあると思います。


Selenium IDEなどを使ってテストスイート単位で自動化することもできますが、JenkinsというCIツールを使えば、テスト実行およびレポーティングまで完全自動化することができます。


JenkinsはWindowsマシンでも簡単に構築できます。
今回はツールのセットアップ(Windows版)と基本的な使い方まとめたいと思います。


尚、Seleniumはスタンドアローン版がセットアップされていることを前提にしています。
(セレマニア{注:Seleniumオタク}のひとは、特に説明不要だと思うので、JavaやPythonなど、各自好きな言語でかかれたテストコードを直接起動してください^^; )


環境構築


 
参考サイト
JenkinsにSelenium Html Reportをいれてみた。 | SeedsLight:


1.JDKインストール&環境変数設定


※JREではなく、JDKが必要なので注意(DL前にOracleに登録が必要)

JAVA_HOME=C:\Program Files\JavaFX\javafx-sdk1.3
SDK直下のbinにもパスを通す。

2.JenkinsのDL

Windows版をDL


3.ダウンロードした jenkins.war を直接起動

java -jar jenkins.war
→デフォルトでは http://localhost:8080 にサーバーが立つので、ブラウザからアクセスして確認。

※セキュリティーソフトなどでブロックされる場合は、適宜設定変更してください。

ジョブ作成



次に自動実行のためのジョブを作成します。

1.新規ジョブ作成

とりあえずフリースタイルを選択します。


2.作業用フォルダの設定


スクリプトを実行する場合は、カスタムワークスペースを設定。
※スクリプトをフルパスで指定する場合は必要ないかもしれませんが、一応設定します。



3.ソースコード管理


利用しない場合は「なし」を選択

4.ビルドトリガ設定


ここではスクリプトの実施タイミングを設定します。

     
↓書き方の例(詳細はJenkinsのヘルプを参照)

# 1分ごとに
* * * * *
# 毎時5分(1時間に一度)
5 * * * *
# 30分に一回
*/30 * * * *



5.ビルド手順追加



Windowsバッチからのスクリプト実行の場合は、「Windowsバッチコマンド」を選択する。
以下はSeleniumスタンドアロンサーバーの例。



rem Firefox
java -jar selenium-server-standalone-2.18.0.jar -htmlSuite "*chrome" "http://www.google.com" "C:\selenium\suite02.html" "c:\selenium\result01.html"


rem Chrome(日本語が化ける?)
java -jar selenium-server-standalone-2.18.0.jar -htmlSuite "*googlechrome" "http://www.google.com" "C:\selenium\suite03.html" "c:\selenium\result02.html"

***

手始めに以下のようなサンプル用コマンドを書いて、ジョブの実施のみを確認してもOKです。

echo im enjoying testing with Jenkins!
date /T

***


6.成果物保存


作業ディレクトリにあるスクリプト実行結果ファイルをバッチ実行毎にアーカイブする場合は、「成果物を保存」にチェックを入れて、

**/result*.html

のような形式で保存ファイルを指定します。

上記例ではファイル名がresultで始まり、拡張子がhtmlであるファイル(サブディレクトリも含む)をアーカイブします。




実行結果確認

1.ルートメニューで確認





2.プロジェクトメニュー


直近のビルド成果物や、即時実行、設定などが可能です。




3.ビルドログ


プロジェクトメニューの左側ににある「ビルド履歴」から遷移します。
「コンソール出力」でこのビルド実施時に出力されたコンソールのログ情報が確認できる。
また、「ビルドの成果物」で、バッチ毎に保存したファイルがDLできる。





最後に


JDKインストールに時間がかかるかもしれませんが、びっくりするぐらい簡単に自動テスト環境が構築できますので、ぜひ試してみてください。

いやー このシステムは開発してくれた神プログラマに感謝感激ですね。