5

mstestユーティリティを使用してコードUIテストを実行する方法に関するブログ投稿をいくつか見つけましたが、C#アプリケーションから実行する必要があります。最も簡単なことを試しました。コンソールアプリケーションを作成し、への参照を追加しました。

  • Microsoft.VisualStudio.TestTools.UITest.Logging.dll
  • Microsoft.VisualStudio.TestTools.UITest.Playback.dll
  • Microsoft.VisualStudio.TestTools.UITesting.dll

アプリケーションからUIテストメソッドを呼び出してみました。次のエラーが発生しました:

The following is not a valid technology name: MSAA. To search for a control, you must specify a valid technology name.

UIテストに関連する他のアセンブリを参照しようとしましたが、エラーは同じままです。たぶん、テストを実行できるようにするためにApp.configに追加する必要があるものがありますか?

4

7 に答える 7

3

コード化された UI テストをバット ファイルで実行しています。CUIT テストの .dll ファイルをアプリケーションにコピーし、バット ファイルで呼び出すだけで実行できます。テスト エージェントを使用して、Visual Studio がない別のマシンからコード UI テストを実行することもできます。

私のバットファイルは次のようになります:

DLL からすべてのテスト メソッドを実行します。


"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\mstest.exe" /testcontainer:"DLL_Location\CUIT_03.dll" /resultsfile:"ResultFile_Location\result.trx"

DLL から単一のテスト メソッドを実行します。


"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\mstest.exe" /testcontainer:"DLL_Location\CUIT_03.dll" /test:"TestMethodName" /resultsfile:"ResultFile_Location\result.trx"
于 2013-10-07T09:18:20.737 に答える
2

コード化された UI パーツを実行する前に Playback.Initialize() を呼び出し、その後に Playback.Cleanup() を呼び出す必要があります。

http://social.msdn.microsoft.com/forums/wpapps/zh-cn/914e0ecb-6917-43ff-baf6-f30acc6469d3/unable-to-run-a-coded-ui-test-method-when-call- from-a-console-application-project-in-vs2012

http://blogs.microsoft.co.il/blogs/shair/archive/2010/07/15/running-codedui-test-from-another-application.aspx

于 2013-07-16T17:58:33.193 に答える
1

C# で MSTest を実行すると、同様の問題が発生しました。私は Selenium を使用しているので、基本クラスを [TestClass] 属性でマークしました。ファイルのアップロードをテストするには CodedUI が必要です。[CodedUITest] に変更すると動作しました。

于 2014-05-20T14:53:15.047 に答える
0

C# から MSTest を呼び出すと、問題は解決しますか? その場合は、このMSDN の投稿でその方法を説明しています

それ以外の場合は、MSTest で逆アセンブラーを使用して、その機能と使用する参照を見つけようとします。これをざっと見てみると、Microsoft.VisualStudio.QualityTools.ExecutionCommon と、Microsoft.VisualStudio.QualityTools.CommandLine の Executor というクラスが見つかりました。

C# から CUIT を呼び出す必要があるのはなぜですか?

于 2012-11-30T01:48:34.480 に答える
0

コード化された UI は 64 ビット プロセスでは機能せず、64 ビット プロセスでは使用できないため、アプリケーションが 32 プロセスとして実行されていることを確認します。

于 2016-12-15T11:11:21.143 に答える
0

参照が不足していると思います。このブログを試してみてください。必要な参照はこれだけです。

c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\

Microsoft.VisualStudio.TestTools.UITesting.dll
Microsoft.VisualStudio.QualityTools.CodedUITestFramework.dll

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\image

Microsoft.VisualStudio.TestTools.UITest.CodeGeneration.dll
Microsoft.VisualStudio.TestTools.UITest.Framework.dll
Microsoft.VisualStudio.TestTools.UITest.Playback.dll

このブログを試してください: http://blogs.microsoft.co.il/shair/2010/07/15/running-codedui-test-from-another-application/

必要なすべてのリファレンスがリストされています(試してみると、winforms(MSAA)で機能します)。

于 2015-06-11T06:26:04.943 に答える