VM でコード化された UI テストをリモートで実行する必要があります。Mstest.exe を使用してテスト ケースを実行しています。Windowsスケジューラを介して実行すると、「アクティブデスクトップ」が必要なため失敗します。
テストエージェントを使用する必要があるいくつかの場所を読みました。しかし、「アクティブデスクトップ」を設定するためだけにテストエージェントとテストコントローラーを構成したくありません。他にできることはありますか?
VM でコード化された UI テストをリモートで実行する必要があります。Mstest.exe を使用してテスト ケースを実行しています。Windowsスケジューラを介して実行すると、「アクティブデスクトップ」が必要なため失敗します。
テストエージェントを使用する必要があるいくつかの場所を読みました。しかし、「アクティブデスクトップ」を設定するためだけにテストエージェントとテストコントローラーを構成したくありません。他にできることはありますか?
テスト コントローラーとテスト エージェントのセットアップは難しくありません。非常に簡単で、最適な方法です。インストールのガイドラインは、http: //msdn.microsoft.com/en-us/library/dd293551.aspxで確認できます 。
ただし、コントローラーを使用してもまだ存在する問題はほとんどありません。
テスト エージェントは、サービス モードまたはプロセス モードで実行できます。コード化された UI テストの場合は、プロセス モードで実行する必要があります (同じ Windows セッションにある必要があるため)。ただし、リモート デスクトップを使用して VM にログインし、それを閉じると、ターゲット マシンのデスクトップはロックされたままになり、テストを続行できません。ログインしない限り、アクティブなセッションはなく、テスト コントローラーも起動しません。
私が知っているアクティブなデスクトップを維持する方法は 2 つあります。
スター。
仮想マシンで Codedui テストを実行し (仮想マシンが最小化された状態であっても)、仮想マシンとローカル マシンで同時に作業するには、次のようにします。
1) コンピューターで開いているすべてのリモート デスクトップ セッションを閉じます。
2) ローカル マシンで [スタート] をクリックし、[実行] を選択します。[ファイル名を指定して実行] ダイアログ ボックスで、regedit と入力し、Enter キーを押します。レジストリ エディタが起動します。
3) 次のレジストリ キーのいずれかを見つけます。
HKEY_CURRENT_USER -----> ソフトウェア -----> Microsoft -----> Terminal Server Client (ユーザー アカウントの RDC 設定を変更する場合)
— または —</p>
HKEY_LOCAL_MACHINE -----> ソフトウェア -----> Microsoft -----> Terminal Server Client (すべてのアカウントの RDC 設定を変更する場合)
「ターミナル サーバー クライアント」を右クリックし、「新規」 ---> 「DWORD 値」 ---> 名前を付けます ---> RemoteDesktop_SuppressWhenMinimized を選択します。----> この名前を右クリックし、[変更] を選択します ---> ポップアップで、[値のデータ] に「2」と入力します
それで全部です。これで、コンピューターの RDC ウィンドウを最小化しても、リモート コンピューターの GUI に影響がなくなり、GUI は引き続き自動化された GUI テストで使用できるようになります。
次のことを行う必要があります。
1) 自動ログオンを設定します。
2) スクリーンセーバーを無効にします。
3) テストを妨害するすべてのものを無効にします。たとえば、Windows の更新をシャットダウンします。
通常の RDP 接続を介して CodedUI テストを実行することはできません。コンソール セッションにログオンする必要があります。テストを実行するマシンが Hyper-V マシンであると仮定すると、Hyper-V Virtual Machine Manager を使用してコンソール セッションにログオンできます。場合によっては、/admin パラメーターを指定してリモート デスクトップを実行するとうまくいくことがあります (ただし、私にはうまくいきませんでした)。
mstsc -v:SERVERIP -admin