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

Как узнать что диалог загрузки отработал и скрылся со страницы


(Viktor Kazankov) #1

При загрузке данных в одну из таблиц, появляется диалог с прогресс баром, после его закрытия(окончание загрузки) кнопка “Дальше” на странице становится активной.
Задача простая дождаться когда пропадет этот диалог и кликнуть кнопку Дальше
Но все мои попытки это реализовать не удались
Сейчас такой код:

if (page.waitVanish(dialogLoadData))
        page.click(nextButton);
    else
        System.out.print("Help me");

В результате - кнопка Дальше жмется еще до того как диалог пропадает

Использую последнюю версию Sikuli, пишу на Jave


(Pogosov) #2

Вейтер для ожидания в других местах работает корректно?
Было бы очень неплохо увидеть что в вейтере, так как есть ощущение что Вы просто переходите в else без клика и все.


(Sergey Korol) #3

А мне интересно, какая все же версия у вас? Ибо последняя - это префайнал 1.1.0, взятая из nightly builds.

Если же вы действительно взяли последнюю, рекомендую попробовать механизм obeserver’ов, которые можно навесить с разными событиями: onAppear / onVanish / onChange.

Пример работы с относительно свежими API есть в местном GitHub.


(Viktor Kazankov) #4

В других работает без проблем.
Проверял с помошью дебага - заходит в if нормально и кликает по кнопке


(Viktor Kazankov) #5

Решил проблему так

if (page.waitVanish(dialogLoadData,FOREVER)) {
        page.click(nextButton);
        System.out.println("Privet");
    }
    else
        System.out.println("Help");

т.е. добавил FOREVER, а также изменил немного similar “dialogLoadData” патерна


(Viktor Kazankov) #6

Да у меня последняя 1.1.0. Жду 2.0.0


(Sergey Korol) #7

2.0.0 будет нескоро, ибо выпуск стабильной 1.1.0 уже тянется с ноября месяца прошлого года. Но, тем не менее, 2ю версию уже сейчас можно собрать самому.