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

Повторный запрос при отсутствии нужного элемента

codeception
php
Теги: #<Tag:0x00007f7b697cd238> #<Tag:0x00007f7b697cc9f0>

(Konstantin) #1

Ситуация такая: на странице есть дэйтпикер и автокомплит поля. Иногда по непонятным мне причинам при клике на элемент не появляется окно дэйтпикера или автокомплита, причём если в момент ожидания кликнуть самому, всё появится или если прогнать тест 2й раз тоже проидёт (проблемма не постоянная)

Вопрос: можно ли сделать так, что если waitForElementVisible вылетает с таймаутом, то повторить клик ещё раз и если он опять вылетает то фэйл?


(Ray Romanov) #2

В try catch заверни, типа:
try { ждем элемент 3 секунды; } catch (Exception $e) { кликаем еще раз; ждем опять элемент; }


(Michael Bodnarchuk) #3

поддерживаю, хорошо бы завернуть в try - catch, но ещё лучше вынести это проверку в хэлпер, чтобы не нагромождать тест деталями реализации


(Sergey Pirogov) #4

сделай метод
selectDate(Date date){
try{
waitAndselect(date);
}catch(){}
waitAndClick(date);
}}

и наслаждайс результатом )