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>
では、現在欠落しているアセンブリは何ですか?? 言及されていませんでした。
前もって感謝します