2017-01-18 15 views
2

多くのWaitForControlExistsを持つUIテストをコード化しました。これは私のテストが遅くなる原因となります。コード化されたUIコントロールポーリングの代わりにコントロールが存在する

Playback.PlaybackSettings.SearchTimeout = 30000;と私がuicontrol.WaitForControlExists()の場合は、1秒後にコントロールが表示されても、方法からフィードバックを得るのに30秒かかります。

今、コントロールが存在するとすぐにWaitForControlExistを終了する方法があるかどうかを確認したいと思いますか? 「コントロールが存在するのを待つ」の代わりに、「コントロールが存在する」と投票してください。

ポーリングタイマーを1秒に設定します。意味私はコントロールが存在する場合、毎秒点検する。 2秒後(または30秒未満)にtrueを返し、ポーリングを停止した場合は、30秒後に毎秒試し続け、falseを返します。

答えて

1

使用uiControl.WaitForControlCondition(コントロール=> control.Condition、タイムアウト)を使用して試すことができます。

これを使用すると、実行を続行する前に満たしたい制御条件を混在させて一致させることができます。

私にとって最も有用なのは、コントロールの状態とスタイルです。 楽しいことがあります:)

2

次のようにあなたがそれを設定することができます

var exists = uiControl.WaitForControlExists(100); 
var counter = 0; 
while(!exists) 
{ 
    Playback.Wait(1000); 
    counter++; 
    exists = uiControl.WaitForControlExists(100); 
    if(counter>30) 
     break; 
} 

また、あなたがWaitForControlReady

関連する問題