Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как описать ожидание доступности контрола на форме?


(anton_matyushkin) #1

Добрый день.

Ситуация следующая: 

автотест выполняет поиск по фильтру, продолжительность поиска зависит от заданных параметров (например, поиск по ФИО выполнится за 1 секунду, а поиск по страховой компании клиента - за 5 секунд).

Порядок действий:

1. Открываем форму поиска.

2. Вводим параметры поиска.

3. Нажимаем кнопку "Найти".

4. Проверяем есть ли результат или нет.

5. Очищаем форму по нажатию кнопки "Очистить".

После нажатия кнопки нам нужно ждать отображения результата, но время срабатывания поиска всегда разное.

Хотелось бы перед проверкой наличия результата проверить доступен ли контрол (грид результатов): как это можно сделать?

Сейчас пробую в свойствах класса грида добавлять строчку "this.mUIГридEdit.WaitForControlEnabled();" в блоке get, но он не срабатывает (тест пытается проверить грид сразу же после нажатия кнопки "Найти".

 


(5am) #2

WaitForControlEnabled(); указывается со значением, например:

WaitForControlEnabled(%кол-во секунд, сколько максимум ожидать контрол%);

 

или как вариант, сделай свою проверку наличия контрола.
var maxCheckingCount = 5; //максимальная кол-во проверок начилия результата
for (var currentIteration = 0; currentIteration++; currentIteration < maxCheckingCount)
{
    if (this.mUIГридEdit.Exists()) //или аналоговый ему метод
        return; //все ок

Thread.Sleep(1000) //спим секунду до следующей проверки
}
//результат не найден