2

UIAutomation私たちのプロジェクトを介して自動化テストを実装しようとしています。しかし、多くのコントロールは標準ではなく、そのコントロールに対して適切なパターンも実装されていません。この場合、UIAutomation フレームワークを介してコントロールを操作するにはどうすればよいですか?

たとえば、製品のボタンはペインを介して実装され、呼び出されるパターンも実装されていません。ボタンはどのようにクリックすればよいですか?Mouse.Click()(テスト マシンに VS をインストールするのを避けるために、名前空間で使用したくありませんMicrosoft.VisiualStudio.TestTools.UITesting) UIAutomation フレームワークまたは .net フレームワークに埋め込まれた何かを使用するだけでそれを行う方法はありますか? 前もって感謝します!(適切なパターンが実装されている場合、以下のコードは機能します。また、新しいユーザーとして、参照用のスクリーンショットを投稿できません。申し訳ありません!)

object temp = null;
if (btnTest.TryGetCurrentPattern(InvokePattern.Pattern, out temp))
{
    InvokePattern btnTestPattern = temp as InvokePattern;
    btnTestPattern.Invoke();
}
4

2 に答える 2

1

コントロール パターンが実装されていない場合に対話する唯一の方法は、クリックすることです。最大のエラーを回避するために、以下を試してみることをお勧めします。

  1. クリックを送信する前に、ボタンの親(ペインまたはウィンドウがフォアグラウンドに設定されていること)を確認してください
  2. クリックを AutomationElement の隅に送信する代わりに、要素の中間点に送信してみてください。
  3. また、最初に要素の上にカーソルを置き、200 ミリ秒ほど待ってから、クリックを送信してみてください。実行が確実に表示されるようにします。[信じてください。これはデバッグに大いに役立ち、多くの問題を回避します。
于 2014-12-06T07:59:47.590 に答える