WPF、プロジェクトホワイトおよびインフラギクス
-
05-10-2019 - |
質問
私は使用しようとしています ホワイトプロジェクト WPFアプリケーションの自動テストを作成します。私がインフラジスティックコントロールと対話しようとするまで、それはすべて順調に進んでいます。誰かがこのセットアップの経験がありましたか?XamribbonやXamoutlookbarと対話する方法の例を投稿することができますか?
解決
少し一般的な答え私は恐れていますが、ホワイトがあなたを助けていない場合は、Microsoft UI Automationを直接使用できます。
まず、コントロールを見つけます。 WPFの「名前」がある場合、おそらく名前と一致する自動化IDがあります。
AutomationElement element = AutomationElement.Root.FindFirst(
TreeScope.Descendants,
new PropertyCondition(AutomationElement.AutomationIdProperty, <whatever>))
または、主にテキストまたはタイトルにマップするNameProperty、ControlTypepropertyまたはclassPropertyのようなものを使用することもできます。 Findallをいつでも使用して、利用可能なコントロールに関する詳細情報を提供できます。
コントロールを見つけたら、サポートされているパターンとプロパティを印刷してください。
element.GetSupportedPatterns()
element.GetSupportedProperties()
プロパティは情報を返します。パターンは、listitempattern、gridpatternなどのものであり、より多くのコンポーネント固有の値にアクセスできます。必要なものを提供するパターンまたはプロパティを見つけることができます。白はこれの上に部分的に構築されているため、使用できる白いコンポーネントを見つけるのに役立つ可能性があります。例えば:
((TogglePattern)Element.GetCurrentPattern(TogglePattern.Pattern)).Toggle()
Snoopは、印刷物を通過せずにこの情報を取得するのに役立つアプリです。 http://snoopwpf.codeplex.com/
所属していません StackOverflow