17

コード化されたUIテストを自動化しようとしています。

私のテストコントローラーは、リモートデスクトップ接続を介して通常アクセスするリモートテストサーバーでテストを起動します。

リモートデスクトップ経由で接続せずにコード化されたUIテストを実行することは可能ですか?

現在、テストはリモートデスクトップ経由で接続した場合にのみ実行され、ウィンドウが開いている必要があります。リモートデスクトップセッションを閉じると、テストが実行されません。

リモートデスクトップなしでコード化されたUIテストを実行できない場合、リモートデスクトップ経由の接続を自動化するにはどうすればよいですか?

ありがとう

4

8 に答える 8

18

リモートテストマシンで同じ問題が発生しましたが、テストマシンはHyper-Vで実行されます。Hyper-Vを使用する場合の解決策は、リモートデスクトップ接続ではなくHyper-Vを介して接続することであり、Hyper-V接続を閉じてもコンピューターがロックされることはありません。

もう1つの提案は、リモートデスクトップが自動的に画面をロックするという事実を回避することです。ここにそれについての簡単なビットがあります:http://homeservershow.com/remote-desktop-session-locks-workstation-after-exit.html

基本的に、切断する場合は、リモートマシンからコマンドプロンプトで「tscon.exeRDP-Tcp#0 / dest:console」を実行します。マシンはロック解除されたままで、テストは正常に実行されます。

@Zatricionによると、そのコマンドは一般化できます。

tscon.exe %sessionname% /dest:console
于 2012-08-01T14:21:11.593 に答える
4

この問題の最も簡単な解決策は、テスト環境で自動ログオンを有効にすることでした(OSに応じてこれを行うにはさまざまな方法があります)。

自動ログオンを有効にした状態で、テスト環境を再起動すると(スクリプト化可能な「shutdown.exe / r」コマンドを使用)、テスト環境がアクティブなログオンセッションでバックアップされるため、テストを実行できます。正常に。

夜間のテスト自動化では、テスト環境で自動ログオンを有効にし、テスト実行前に再起動をスケジュールしました。

この方法で問題は発生していません。つまり、リモートデスクトップ経由で接続する必要はありません。

于 2012-09-13T09:52:17.257 に答える
3

MSDNから:

コード化されたUIテストを実行するエージェントを実行しているコンピューターをロックしたり、アクティブなスクリーンセーバーを使用したりすることはできません。

Visual Studioを使用して実行している場合CodedUi Tests(つまり、テストはアカウントで実行されます)、リモートデスクトップを介してリモートテストサーバーに接続する必要があると思います。

ただし、を使用Microsoft Test Managerしてテストを実行できます。

  1. 仮想環境を作成します。
  2. 自動テストを実行できるように仮想マシンをセットアップします。
  3. テストコントローラーとテストエージェントをインストールします。 -CodedUiテストを実行できるように、インタラクティブ
    プロセスとして実行するようにテストエージェントを設定します。 -MicrosoftTestManagerで実行するようにテストコントローラーを設定します。
  4. MTMを使用してテスト計画を作成し、仮想環境でツアーテストを実行します。テストはテストエージェントを実行するアカウントで実行されるため、リモートサーバーに接続する必要はありません(注:テスト目的で作成する必要があります)。
于 2012-08-01T14:11:52.730 に答える
2

これは非常に簡単です。このブログ投稿をここで確認してください。このことは非常に簡単な方法で説明されています。MSTFSがない場合にMicrosoftCoadedUIテストの実行をスケジュールする方法

  1. 手順iに従って、安定したコード化されたUIプロジェクトのリリースを作成します。ビルドを開く>バッチビルド

ii。リリースがすでにビルドされている場合は、[再構築]をクリックします

  1. コード化されたUIプロジェクトを正常にビルドしたら、プロジェクトのリリースフォルダーに移動し、プロジェクト名で指定されたtestAutomated.dllをコピーします。

  2. このdllを、テストの実行をスケジュールするリモートマシンに配置します

  3. リモートマシンのディレクトリに.dllを配置します。たとえば、D:\coadedUitestに配置します。

  4. テストを実行するこのマシンに、このリンクからMiscosoftTestエージェントをインストールします。http://www.microsoft.com/en-us/download/details.aspx?id=38186

  5. テストエージェントをインストールした後、MSテストが場所に存在することを確認します

  6. メモ帳を開き、次のテキストを入力しますD:cd coadedUitest set mstestPath = "C:\ Program Files \ Microsoft Visual Studio 12.0 \ Common7 \ IDE"%mstestpath%\ mstest /testcontainer:testAutomated.dll

  7. .bat拡張子で保存します

  8. .batファイルをダブルクリックして開き、テストが実行されているかどうかを確認します

  9. 正常に実行されたら、Windowsタスクスケジューラを開き、スケジュールされたタスクを作成して、この作成された.batファイルを実行します。

http://testingtoolstecniques.blogspot.com/2014/11/how-to-schedule-microsoft-coaded-ui.html

于 2014-11-19T09:21:41.973 に答える
1

アップデート:

VSOまたはTFS2015ビルドシステムを使用すると、テストを実行するためにリモート接続が不要になります。タスク「VisualStudioTestAgent Deployment」を実行するビルドまたはリリースを作成してから、「RunFunctionalTests」タスクを実行します。

おそらく最善のアプローチは、ビルドアーティファクトを削除するビルドを作成してから、アーティファクトからサイトをデプロイし、そのサイトに対してコード化されたUIテストを実行するリリースを作成することです。

ノート:

  • リモート接続を手動で開始すると、実行は失敗します。
  • ログアウトする代わりにリモート接続を作成して切断すると、実行は失敗します。
  • 自動ログインを有効にして再起動すると、これらのテストを実行できます。
  • Hyper-Vを使用すると、テストを実行しているサーバーのデスクトップを確認できます。これは非常に小さなウィンドウですが、サーバーが何を実行しているかがわかります。
于 2016-08-10T14:05:54.410 に答える
0

VNC(TightVNCなど)を使用してマシンを表示/操作します

于 2013-04-30T15:08:04.023 に答える
0

VMwareを使用して、コード化されたUIテストを実行できます。VMを最小化しても、テストは続行されます。

詳細については、このリンクを参照してください。 http://www.binaryclips.com/2016/03/coded-ui-tests-executing-test-case.html

于 2014-02-28T13:33:39.833 に答える
-1

-推奨される解決策1:Hyper-Vクライアントを用意し、スケジュールタスクを使用してコード化されたUIテストを実行するだけです。全く問題ありません。

-推奨される解決策2:2つのVMが必要です。最初にリモートデスクトップからVM1に、次にVM1リモートデスクトップからVM2に、コード化されたUIが実行されます。コード化されたUIがVM2で開始されたら、VM 1を切断するだけです。これにより、セッションが開いたままになり、問題が発生することはありません。

-あまり好ましくない解決策3:コマンドラインを使用してVMを再起動します。VMで自動ログインが有効になっていることを確認します。コード化されたUIを実行するためのスケジュールされたタスクがあります。

私はこの方法を使用し、いくつかのテストが失敗することを発見しました。

--最も好ましくない解決策4:tscon.exeを使用します%sessionname%/ dest:consoleこの方法を使用しましたが、テストが問題なく実行されることを保証できません

于 2016-11-25T18:31:20.857 に答える