Недавно начал интересоваться автоматизацией в тестировании и в качестве объекта для изучения выбрал рандомный сайт (ссылка будет ниже).
Недавно столкнулся с проблемой, которую вот уже три дня не могу решить собственными силами. На странице http://pdd.by/educ/ есть гиперссылка в тексте карточки активации Учебной программы, которая открывает некое изображение.
Нужно дождаться полной загрузки всех компонентов в том числе и кнопки [close] что бы продолжить дальнейшее выполнение тестов.
Из того что пробовал я:
public void waitForOpenImg(){
wait.until(ExpectedConditions.presenceOfElementLocated(By.id("lightbox-secNav-btnClose")));
}
А так же вот
ExpectedConditions.visibilityOfElementLocated(By.xpath("//a[contains(@href,'#')]"));
С различными комбинациями xpath и id. Но к следующему шагу программа переходит так и не дождавшись загрузки какого-либо из элементов.
Может быть кто-то подскажет как решить эту проблему?
Распространенная стратегия написания теста - это дождаться элемента, с которым будем взаимодействовать в следующем шаге. Причем лучше всего дождаться возможности совершения именно того действия, которого хотим совершить. Например, если хотим посмотреть какой-то атрибут или текст элемента, то достаточно дождаться presenceOfElementLocated, а если будем кликать, то лучше elementToBeClickable.
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("div#jquery-lightbox a#lightbox-secNav-btnClose")));
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости