2017-01-18 8 views
2

Я закодировал ui тесты с большим количеством WaitForControlExists в них. Это заставляет мои тесты работать медленно.закодированный контрольный опрос ui вместо ожидания для контроля существует

В принципе, если Playback.PlaybackSettings.SearchTimeout = 30000; и у меня есть uicontrol.WaitForControlExists(), для получения обратной связи от метода требуется 30 секунд, даже если элемент управления отображается через 1 секунду.

Теперь я хочу узнать, есть ли способ выйти из WaitForControlExist, как только элемент управления существует? Скажем, я «опрос контроля над существующими» вместо «Wait for Control Exists».

Я установил таймер опроса на 1 секунду. Значение Я проверяю каждую секунду, если элемент управления существует. Если он ПОКАЖЕТ через 2 секунды (или менее 30 секунд), верните истину и остановите опрос, если вы не будете пытаться каждую секунду, когда это было 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

 Смежные вопросы

  • Нет связанных вопросов^_^