WPFアプリケーションのUIテスト自動化をプログラムで実装するためにSystem.Windows.Automation(一般にUIAとして知られている)APIとMicrosoft.VisualStudio.TestTools.UITesting(舞台裏でコード化されたUIテストで使用されるもの)を使用することの違いは何ですか?
特定のシナリオ、制限、または長所/短所はありますか?
WPFアプリケーションのUIテスト自動化をプログラムで実装するためにSystem.Windows.Automation(一般にUIAとして知られている)APIとMicrosoft.VisualStudio.TestTools.UITesting(舞台裏でコード化されたUIテストで使用されるもの)を使用することの違いは何ですか?
特定のシナリオ、制限、または長所/短所はありますか?
コード化されたUIテストは、多くの自動化テクノロジーをラップするフレームワークです。UIAはその1つにすぎません。
UIAはVista/Windows 7の新機能であり、リッチクライアントアプリを対象としています。コード化されたUIテストでは、WPFおよびSilverlightに対するテストを作成するときにUIAを使用します。
UIAを直接使用するよりもコード化されたUIの利点は、多くの自動再試行とUIAの動作に関する知識がコード化されたUIテストに組み込まれていることです。
実際、答えはあなたの質問にあります。UIA は自動化に使用され、UITesting はテストに使用されます。
MSDN からの抜粋:
UI オートメーションは、デスクトップ上のほとんどのユーザー インターフェイス (UI) 要素へのプログラムによるアクセスを提供し、スクリーン リーダーなどの支援技術製品が UI に関する情報をエンド ユーザーに提供し、標準入力以外の方法で UI を操作できるようにします。UI オートメーションでは、自動化されたテスト スクリプトが UI と対話することもできます。
したがって、UIA は UITesting に使用できますが、これに限定されません。