0

Visual Studioをインストールせずに、ターゲットマシンにmstestをスタンドアロンプ​​ログラムとしてセットアップしました。そのため、必要なファイル (*.exe、dll) mstest をターゲット マシンにコピーし、mstest が単体テストを実行するために必要なすべての dll を gac に登録しました。

これまでのところ、通常の単体テストでは問題なく動作します。

コード化されたUIテストを実行するためにmstestをセットアップしようとしています。新しい dll をターゲット マシンにコピーしました。

- Microsoft.VisualStudio.QualityTools.CodedUITestFramework.dll
- Microsoft.VisualStudio.TestTools.UITest.Common.dll,TestTools.UITest.Extensions.dll
- Microsoft.VisualStudio.TestTools.UITesting.dll
- Microsoft.VisualStudio.HostingProcess.Utilities.Sync

しかし、ターゲット マシンでmstest.exe を介して cmd.exe でテストを実行しようとすると、テストは実行されますが、常に失敗します(ローカル マシン、Visual Studio 2012 では正常に動作します)。その非常に簡単なテスト:

  - just click on "Start", 
  - type in "calc press enter" 

どちらのマシンも同じオペレーティング システムを使用しています。

コード化されたUiTestsを実行するには、 MSTest.exeにはまだいくつかのdllが必要だと思います。悪い点は、欠落している dll が cmd.exe に表示されず、エラーもヒントも何もないことです:/
テストは通常​​どおり実行されますが、すべてのテストに失敗します。

コマンド出力:

Microsoft (R) Test Execution Command Line Tool Version 11.0.50727.1
Copyright (c) Microsoft Corporation. All rights reserved.

Loading D:\Users\Jenkins\Desktop\CodedUITestProject1\CodedUITestProject1\bin\Debug\CodedUITestProject1.dll...
Starting execution...

Results               Top Level Tests
-------               ---------------
Failed                CodedUITestProject1.CodedUITest1.CodedUITestMethod1
0/1 test(s) Passed, 1 Failed

Summary
-------
Test Run Failed.
  Failed  1
  ---------
  Total   1
Results file:  C:\VS2011Stub\Common7\IDE\TestResults\Jenkins_MSGP166C 2013-05-24 12_36_28.trx
Test Settings: Default Test Settings


mstest.exe が codeutests を正しい方法で実行するために必要なファイルを知っている人はいますか?

編集: *.trx ファイルを確認し、不足している dll をターゲット マシンにコピーしました。

もう一度テストを実行しようとしましたが、再び失敗しました。trx ファイルを再度チェックしていたところ、すばらしいメッセージが表示されました :/

  <Results>
    <UnitTestResult executionId="4652eeb1-e1b4-4782-a288-dbd4bb0bda5a" testId="484ddbfe-fdc6-0f5d-9e7b-bab4da5b5905" testName="CodedUITestMethod1" computerName="MSGP166C" duration="00:00:00.0887388" startTime="2013-05-24T16:30:24.1716290+02:00" endTime="2013-05-24T16:30:24.6266745+02:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Failed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="4652eeb1-e1b4-4782-a288-dbd4bb0bda5a">
      <Output>
        <ErrorInfo>
          <Message>Error calling Initialization method for test class CodedUITestProject1.CodedUITest1: System.IO.FileNotFoundException: Das System kann die angegebene Datei nicht finden. (Ausnahme von HRESULT: 0x80070002)</Message>
          <StackTrace>    bei System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
   bei System.Reflection.Assembly.LoadFile(String path)
   bei Microsoft.VisualStudio.TestTools.UITest.Framework.UITestExtensionPackageManager.LoadAssembly(String assemblyFile)
</StackTrace>
        </ErrorInfo>
      </Output>
    </UnitTestResult>
  </Results>

では、現在欠落しているアセンブリは何ですか?? 言及されていませんでした。



前もって感謝します

4

1 に答える 1

1

dll をコピーしようとする代わりに、VS テスト エージェントをインストールします。Visual Studio よりもはるかに軽く、mstest を取得できます。これは、テスト マシンで CodedUI テストを実行するときに使用するアプローチです。

http://search.microsoft.com/en-us/DownloadResults.aspx?q=test+agents

  1. プロジェクトをビルドしたテスト エージェントのバージョンをダウンロードします (あまり重要ではありません)。
  2. インストーラーを開くと、3 つのオプションが表示されます。テスト エージェントが必要です。
  3. mstest と codedui に必要なものがすべて揃っているはずです。

うまく機能するもう 1 つの方法は、すべての codedui テストを順序付きテストに入れ、それを mstest に渡すことです。

MSTest /TestContainer:OrderedTest1.orderedtest

トリックを行う必要があります

于 2014-01-22T20:34:04.110 に答える