2011-10-18 5 views
1

私はをテストオートメーションに使用しています。私は簡単なアプリケーションテストを作成しました。これはダイアログ名を使ってアプリケーションを追跡しています。ClassIDを使用してアプリケーションウィンドウを見つける方法を教えてください。

var appCalc = Application.AttachOrLaunch(new ProcessStartInfo("application.exe")); 
var wndCalc = appCalc.GetWindow("Dialog caption"); 

ただし、異なるローカライゼーションではキャプションが異なる可能性があるため、このアプローチは不安定です。 ClassIDを使用してアプリケーションを追跡するにはどうすればよいですか?

+0

ClassIDとは何ですか? ClassNameを意味しますか? – MishaU

+0

はい、そうです。私の質問に間違いがあります。私はClassNameを知っています – Eugene

+0

それはMainWindowですか?それをプロセスから導き出すことが可能であるべきです。 – Cilvic

答えて

1
var wndCalc = appCalc.GetWindow(SearchCriteria.ByNativeProperty(AutomationElement.ClassNameProperty, "Your class name"), InitializeOption.NoCache); 
+0

ありがとうございます。私はappCalc.GetWindows()から受け取ったcolectionでの検索を使用していました。あなたのソリューションはより最適です – Eugene

関連する問題