2011-07-06 5 views
1

Windows VMでSeleniumアーキテクチャによって駆動されるWebアプリケーションテストを自動化し、Windowsリモートデスクトップ経由で接続します。 VMウィンドウが開いている/表示されている(すべてクールです)場合と、ウィンドウが閉じられている(または最小化されている)場合、Flash/SWFおよびその他のブラウザ内要素は異なる動作をすることがわかりました。つまり、誰も画面を見ないと、ブラウザ/プラグインが最適化を行います(私が間違っている可能性があります - もしそうなら、私を修正してください)。誰かがモニターを「見ている」ようにシミュレートするには?

(作業中の)回避策として、VNCをインストールして(テストを実行する前に少なくとも一度はログインしてください)役立ちます。その瞬間から、誰もモニターを「見る」必要はありません。

私は、映画の視聴中にスクリーンセーバーをキャンセルする映画プレーヤー(たとえば)が同じ機能/システムコールを使用していると思います。

これらの目的のために特別なデーモンが書かれているので、VNCでこれらのマシンに接続する必要はなく、デーモンを実行するだけです。

更新:http://www.jddesign.co.uk/products/freeware/freeware_programs.htm - 一方で、このユーティリティがジョブを実行するかどうかを確認しました。アドバイスはまだ歓迎されています。

更新N2:上記ユーティリティは、あなたが経験何の仕事

答えて

0

を行いませんが、標準の最適化をレンダリングです:ウィンドウが表示されていない場合OSは、すべての描画コマンドを無視します。

私の推測では、VMツールは誰も接続されていない限り、デスクトップ全体を「最小限に抑えてメモリを節約する」と思います。

Unixでは、テスト開始時にVNCビューアを実行する小さなスクリプトを作成します。

[編集]あなたが探しているのは、VNC接続用の/ dev/nullデバイスの一種です。

ここで解決できる解決策は次のとおりです。TightVNC Java Viewer(ライセンス:GPL)のソースをダウンロードし、すべてのレンダリングコードを削除します。

これはあなたのテストのためにヘッドレスVNCクライアントを開始する必要があります。

+0

これも私がやったことですが(スクリプトなしで)、テストマシンでTightVNCサーバーを実行します(TightVNCビューアをどこかに接続して)。私が疑問に思うのは、接続されたクライアントを持つVNCサーバーのようにテストマシンを「保持」するような単純なソフトウェアです(ただし、明らかにVNCサーバーがないため、Windowsリモートデスクトップで接続することができます) 。 – BreakPhreak

+0

ありがとう、私はあなたが正しいと信じて、今Javaコードに潜んでいない傾向があります。答えを受け入れる。 – BreakPhreak

+0

それは、ツールが(ソフトウェアのミッションのチェック、継続的なインテグレーションなどのために)すぐには存在しないということはちょっと奇妙です。 – BreakPhreak

関連する問題