Webアプリケーション用テスト・ライブラリ「WatiN」を使う連載:VBで実践! 外部コンポーネント活用術(3/3 ページ)

» 2009年04月17日 00時00分 公開
[岸本真二郎デジタルアドバンテージ]
前のページへ 1|2|3       

■ページの表示内容をファイルに保存

 WatiNの最新バージョンでは、ブラウザのスクリーンショットも取得できます。テスト実行時にスクリーンショットを保存しておくと、エラーが発生した際の表示内容の確認が容易になります。

 スクリーンショットをpngファイルで保存するコード例を以下に示します。

' WatiN.Core.IEクラスのオブジェクトを引数に指定する
dim cap As New UtilityClasses.CaptureWebPage(ie)
dim img As System.Drawing.Image

' ブラウザのウィンドウをキャプチャする
img = cap.CaptureWebPageImage(True, True, 100)

' PNG形式で画像を保存
img.Save("c:\\capture.png", System.Drawing.Imaging.ImageFormat.Png)

ブラウザのスクリーンショットをファイルに保存する

 実際にキャプチャを行うCaptureWebPageImageメソッドの引数には、キャプチャ画像にURLを含めるかどうか(True:含める)、サイズ(800×600、1024×768)のガイドを描画するか(True:描画する)、表示スケール(%)の3つを指定します。

[コラム]WatiN Test Recorder

 WatiNを利用する際には「WatiN Test Recorder」というツールが利用できます。

 これはVisual Studioのマクロ記録機能のように、実際に手作業により行ったWebページの操作を自動的に記録して、WatiNを呼び出すソース・コードを生成するものです。また生成されたソース・コードをファイルに出力することなく、そのままコンパイルしてアセンブリを生成することも可能です。生成されるプログラミング言語はVBやC#などが選択できます。

WatiN Test Recorderの実行画面

 操作の内容はその場でソース・コードとして表示され、それをすぐに再生できます。ただし動作が若干不安定なようで、生成されるコードに誤りがある(コンパイル・エラーが発生してしまう)場合もありました。現状ではあくまで参考程度に考えるのがいいでしょう。



まとめ

 WatiNを利用することにより、これまで手作業で行っていたWebアプリケーションのテストの多くを自動化できます。筆者のWindows Vista環境では、IEを閉じる処理でWERサービスが起動することがあり、若干動作に不安定な部分がありましたが、Windows XP上では最初にIEを起動する部分に若干処理の遅さを感じたものの、特に問題なく動作しました。

 また、今回は使用しませんでしたが、バージョン 2.0ではFirefoxやChromeもサポートされていますので、面倒になりがちなWebアプリケーションのテストがより楽に行えるようになります。

 また、Webアプリケーションの動作テストだけでなく、最初に紹介したコンソール・アプリケーションで行ったように、該当ページに含まれるリンクの一覧を参照することで、リンク切れのチェックを行ったり、ユーザー認証のページを自動処理してログインを自動化するツールを作成したりと、テスト以外の用途への応用も考えられます。

「連載:VBで実践! 外部コンポーネント活用術」のインデックス

連載:VBで実践! 外部コンポーネント活用術

前のページへ 1|2|3       

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。