TFS サーバーでビルドが実行されるたびに、Visuial Studio のコード化された UI テストを使用して、WPF アプリケーションで自動化された UI テストを実行しています。私が直面している問題は、構成(x86、x64)を含む、ビルドされたばかりのパスに基づいて実行可能ファイルを動的に起動することです。
テスト プロジェクトからアプリケーションを動的に起動できるように、参照プロジェクトの実行可能ファイルへのパスを取得する方法はありますか?
TFS サーバーでビルドが実行されるたびに、Visuial Studio のコード化された UI テストを使用して、WPF アプリケーションで自動化された UI テストを実行しています。私が直面している問題は、構成(x86、x64)を含む、ビルドされたばかりのパスに基づいて実行可能ファイルを動的に起動することです。
テスト プロジェクトからアプリケーションを動的に起動できるように、参照プロジェクトの実行可能ファイルへのパスを取得する方法はありますか?
MSTest:
[TestInitialize]
アプリを起動するには、以下を追加します。
_yourApp = ApplicationUnderTest.Launch(Path.Combine(Directory.GetCurrentDirectory(), "yourexecutablename.exe"));
あなた[TestCleanup]
の中に以下を追加します:
_yourApp.Close();
NUnit :( Microsoft.VisualStudio.TestTools.UITestingを参照して使用する必要があります)
[Setup]
アプリを起動するには、以下を追加します。
_yourApp = ApplicationUnderTest.Launch("yourexecutablename.exe"));
あなた[Teardown]
の中に以下を追加します:
_yourApp.Close();
注:NUnitの実装を検証していません
Zian Choy が書いたように、Adam が提供する手順を使用すると、テスト対象のアプリケーションは .../Out ディレクトリにコピーされません。次の追加の手順は私にとってはうまくいきました:
CodedUI プロジェクトに実行可能ファイルをどこから起動するか、どのように「正しく」実行するかを理解するのにしばらく苦労していたので、別のユーザーが別のワークスペースで別のワークスペースでコードを実行すると、自動的に機能します。ホストなど。実行可能ファイルを共有ディレクトリにコピーし(正しい方向に進む)、そこから開始するアクションを記録することを思いつきました(バンドエイドなので、少なくとも同じホストの異なるユーザーに対して機能します)。
MS Visual Studio 2015 Enterprise IDE に合わせた MSTest の手順を以下に示します。残念ながら、スクリーンショットを埋め込むのに十分な「評判ポイント」がありません --
出来上がり!!!