3

MS Coded UI を使用して、特定の親でコントロールの検索を開始する必要があることを指定する方法はありますか?

コントロールの検索を実行していますが、その検索の成功または失敗に基づいてさまざまなアクションを実行したいと考えています。残念ながら、同一のオートメーション ID を持つ別のコントロール (完全に異なる親を持つ) があるため、検索は (問題のコントロールの存在に関係なく) 常に成功します (アプリケーションは非常に大きく、その結果、これは頻繁に発生します)。

検索は指定された親から始まり、目的のコントロールを探すと推測しています。見つからない場合は、ルートから検索が再開され、今度は同じ名前のコントロールが見つかると思います (ただし、それは私が興味を持っているものではなく、別のサブツリーの一部です)。

私の質問は、コントロールの検索を特定のサブツリーに制限できるかどうかです。たとえば、プライマリ ビュー Main に View1 と View2 の 2 つのサブビューがあるとします。各サブビューには、「coolControl」の自動 ID を持つコントロールが含まれています。

特定の親 (View1 など) の下で見つかった場合にのみ検索が成功するように、UI 検索を制限する方法はありますか? 失敗した場合、検索がルートで再開しないようにすることはできますか?

4

4 に答える 4

0

手遅れかもしれませんが、正確なコントロールを見つける方法があります。正確な階層を持つ親の下にコントロールを見つけることができます

Playback.PlaybackSettings.MatchExactHierarchy = true;

テストの初期化で上記の行を使用するため、MatchExactHierarchy を true に設定すると、言及している同じ親の下にあるコントロールのみが検出されます。

キャッシュの問題が発生し、制御が間違っている可能性があります。

codedUI について詳しく知りたい場合は、私のブログを参照してください。

于 2014-11-11T08:52:49.440 に答える