GUI操作の記録・再生による試験の自動化
SetWindowsHookEx( WH_JOURNALRECORD ) を使用して操作を記録する。
マウスとキーボードの操作を記録する。
なお、マウスホイールの移動量の記録など一部の記録ができないので、別のフックを使用して記録する必要がある。
結果の確認をするため、操作を行う対象の状態(テキスト、イメージ等)を記録する必要がある。
SetWindowsHookEx( WH_JOURNALPLAYBACK ) を使用して操作を再生する。
結果の確認をするため、操作を行った対象の状態(テキスト、イメージ等)を記録する必要がある。
まったく同じ効果があるわけではない。
マウス移動の記録は、大量になる。
操作を記録したもの。
バイナリで記録するのが簡単だが、後から編集することを考えると、スクリプトにしておくとよい。
WSH(VBScript,JavaScript,...)で記録し、再生は特定のオブジェクトの呼び出しを行うようにする。
状態の確認も、オブジェクトを呼び出すようにする。
記録時、再生時に記録したエビデンスを比較する。
WH_JOURNAL*のフックは同じコンテキストで動作するためDLLにする必要がない。
ただし、これ以外のフックも後々必要になるのでDLLにしておくとよいだろう。
WH_JOURNAL*のフックは、そのままではVistaで動作しない。
UIPI機能をOFFにするか、権限を最高に昇格するか、マニフェスト(asInvoker,uiAccess)を書きデジタル署名し%ProgramFiles%に置く(詳しくはVista情報を参照)。
また、WH_JOURNALPLAYBACKはVSのIDEでは動作しないのでデバッグが面倒です。
関連URL
最終更新:2008年04月27日 21:23