コード化された UI テスト ビルダーで WPF コントロールに対して UIA ではなく MSAA が表示されるのはなぜですか
-
25-09-2019 - |
質問
質問
Visual Studio 2010 コード化 UI テスト ビルダーのクロスラインを持つ WPF コントロールを選択すると (スクリーンショット)、使用されたアクセシビリティ テクノロジが MSAA であることを示しています。なぜUIAではないのでしょうか?
追加情報
VS2010 および TFS2010 に付属の新しいコード化された UI テスト機能を試しています。
Microsoft の UI アクセシビリティ テクノロジには基本的に 2 つあることはわかっています。
- Microsoft アクティブ アクセシビリティ (MSAA):古いテクノロジー、COM
- Microsoft UI オートメーション (UIA):新しいテクノロジ、.NET 3.0 の一部、オブジェクト モデル ベース
コード化された UI テストを作成し、生成されたコードを見ると、実際のオブジェクトに対するハンドルではなく、ピクセル位置に基づいてコントロールがクリックされていることがわかります。
この種のアクセスにより、UI 要素の再配置に対してテストがより脆弱になると思います。一方、UIA が機能していればテストはより安定します。UI ツリーを変更しない限り、何も壊れるはずはありません。
何を間違えたのでしょうか?
解決
これは既知の問題ですのVisual Studio 2010の究極のRCでます。
他のヒント
「ピクセル位置」に関しては、元の質問に記載されています。ほとんどの場合、ピクセル座標は必要ありません。コントロールは、画面上のコントロールの階層を検索することで見つかります。記録された座標はコントロール内にあります。これは一部の複雑なコントロールに必要です。例えば。一連のオプションを展開するための三角形のボタンには、2 つのクリック可能な領域があります。メインエリアとトライアングル。詳細については、次の MSDN ブログ エントリを参照してください。 http://blogs.msdn.com/b/mathew_aniyan/archive/2012/03/16/faq-why-are-we-using-coowned-based-actions-in-coded-ui-test.aspx