2009-06-03 6 views
16

GUIを駆動するエンドツーエンドテストのプロジェクトでは、GUI自動化ドライバがデスクトップと干渉するため、開発者用ワークステーションでテストを実行するのは厄介です。それは、マウスを動かし、使用したいアプリケーションから離れてフォーカスを奪い、テスト実行中に別のアプリに切り替えると、間違ったアプリケーションにテキストを入力することができます。Windows用のxvfbやxnestのようなものはありますか?

Linuxでは、仮想Xサーバ(xvfbまたはxnest)でテスト対象のアプリケーションを実行することでこれを解決しました。 xnestを使ってテストを走らせても、実際のデスクトップを干渉なく使用することができます。

Windowsに相当するものはありますか?

答えて

5

フランク・P・ウェストレイク(Frank P. Westlake)が書いたフリーソフトウェア「RunProcess.exe」は、非インタラクティブ(例えばオフスクリーン)のWindowStationのデスクトップにバインドされたプロセスを実行できます。しかし、ソースはありません。

したがって、私はJavaとJNAで独自のバージョン(Frank Westlakeのものよりも簡単です)を実装しました。これはツールモジュールのWindow Lickerリポジトリにあります。クラスはcom.objogate.wl.win32.RunOnDesktopと呼ばれます。ある時点で私はそれをCに移植して通常のコマンドライン.exeにしたり、テストをオフスクリーンで実行するためのAntタスクにすることができます。

+0

誰もが持っていますこの問題を解決するにはどうすればいいですか? –

+0

同じ問題の解決策を見つけようとしていますが、他の誰かが試しましたか? – DamianS1987

+0

キーボードとマウスの問題はどうですか? – gumuruh

5

SysInternalsパッケージの "Desktops"アプリケーションを使用できます。 1つのデスクトップでUIテストを実行し、別のデスクトップで作業します。

+0

残念なことに私はそれがうまくいくとは思っていません。私が望むのは、IDE(メインデスクトップで実行)からプロセスを起動し、そのプロセスのウィンドウをオフスクリーンデスクトップに表示することです。 – Nat

+0

私はこれを持っていたこのソリューションは私のために働いた。このソリューションのために、Yauheni Sivukha氏に感謝します – sam

+0

オートメーションドライバがマウス​​を動かすという1つの問題があった場合、これは本当に元の質問を解決しますか? ?次に、別のデスクトップ上に別個のマウスポインタ/入力がなければなりません。 – Zitrax

0

私はWindows 10マシンで複数のデスクトップメソッドを試しました。私はセレンのJavascriptテストを実行しています。私は別のデスクトップでテストを開始し、ブラウザーを開くのを待ってからメインのデスクトップに切り替えました。しかし、Chromeブラウザは、現在、アクティブなウィンドウになるのと同じ時点でそれは実際に私がRunProcess.exe、またはNATのソリューションを試すと思う

:-(戻ってそのデスクトップに私を余儀なくされた。

+1

私はSysinternals Desktopsツール(https://technet.microsoft.com/en-us/sysinternals/cc817881.aspx)を試してみました。私がその他のデスクトップでテストを開始したとき、私の元のデスクトップとのやり取りはありませんでした:-) – LeeD

関連する問題