0

私は UI テストの自動化に取り組んでおり、通常は AutomationElement.FromHandle は非常に高速ですが、AutomationElement を返すのに 30 秒かかることがあります。私の限られたログ記録から、AutomationElement を取得するのに 100 ミリ秒未満または完全な 30 秒かかります。他の誰かがこの種の問題を見たことがありますか?

この問題の再現性についてはあまり調査していないことを認めます。そのため、テスト対象のアプリケーションのコントロール クラスに潜在的なパフォーマンスの問題があるかどうかはわかりません。

4

1 に答える 1

2

これが役立つかどうかはわかりませんが、FromHandleを使用すると、舞台裏でUIAutomationがSendMessageTimeoutなどを使用してターゲットウィンドウにWM_GETOBJECTメッセージを送信します。ターゲットUIがフリーズしたり、何か他のことをするのに忙しい場合、SendMessageTimeoutはタイムアウトが発生するまでブロックします。これは、断続的なブロックの原因の1つである可能性があります。SendMessageTimeoutを使用してWM_NULLを同じHWNDに送信して「ping」することでこれが原因かどうかを確認できます。それでもブロックされる場合は、ターゲットUIがビジー/ハングしていることが問題であることがわかります。

于 2012-03-05T11:45:49.570 に答える