Windowsを自動化 - EventGhost便利
Posted by nanki Wed, 12 Aug 2009 13:40:00 GMT

InternetExplorerのテスト用に飼っている、VMWare上のWindowsに新たな使命が課せられた。 携帯シミュレータでのテストだ。
ただ、シミュレータは3キャリア分あって、操作方法も全部違うので、これからげんなりすることを思うとげんなりする。
そこで、とりあえず、一発でreloadができるようにならないか方法を探してみた。
ページのリロード
EventGhost というのがあるらしいので、ダウンロードする。 ページのリロードは、指定した名前のウィンドウを探して、F5キーを押すことで実現。これを、3キャリア分設定。(ソフトによってキーは違う)
あっさりとできてしまった。
キャプチャ
それだけだと面白くないので、リロードした後、画像をキャプチャするようにした。 IrfanViewには、起動オプションでアクティブなウィンドウの内容をキャプチャする機能があるらしいので、それを使う。 起動オプションこんな感じ。
i_view32.exe /capture=3 /convert="\\.host\Shared Folders\Public\softbank.png"
ウェブサーバ
さらに、プラグインを見てみると、WebServerというのがある。 このプラグインを追加すると、指定したポートでHTTPサーバが起動し、指定したフォルダの内容が見られるようになる。
さらに、クエリーストリングに、HTTP.reload という文字列をつけてGETなどすると、同じ名前のイベントが発生して、アクションをトリガーできるようになるらしい。
そんなわけで、最終的にスクリーンショットのような構成になり、Safariから、http://192.168.1.1/?HTTP.reload などとすると、リロードしてスクリーンショットが見られるようになった。
(スクリーンショットが撮られるまでにはタイムラグがあるので、javascriptで定期的に画像をリロードする)
ウェブサーバ機能はかなり便利。
問題点
- リロードの終了を検知できないので、2秒待つ、みたいなことをしないといけない。
- アクティブなウィンドウをキャプチャするので、排他的にしか処理できない。
