Пишу тесты для тестирования веб интерфейса. Интерфейс - это админка написана на AngularJS. Для написания тестов использую py.test, selenium, pytractor. В админке очень много модальных окон, а вот как их подружить с selenium никак не пойму. Selenium не видит элементов модального окна. Подскажите, пожалуйста, в каком направлении копать? И возможно ли вообще решить эту проблему с моим набором инструментов?
Модальное окно - это что? Алерт, диалог загрузки/сохранения файла, всплывающее окно браузера, запрос на авторизацию, еще что-то?
В зависимости от этого работать с ними надо по-разному.
Не алерт, не диалог не окно браузера. Это новый div который добавляется Ангуляром и отображается поверх всей страницы.
xPath
Уже пробовал. (
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {“method”:“xpath”,“selector”:"//*[@id=“dialog3_1456928067967”]/div/form/div[3]/div/input"}
@id=“dialog3_1456928067967” = айдишник динамический, выкинь его, используй полный путь к элементу
Модальное окно случайно не обвёрнуто в iframe ?
Нет.
Вопрос решен. Ангуляр для многих элементов прописывает свои директивы. Вот по одной из таких директив и вышел на нужный мне элемент (By.XPATH, ‘//input[@ng-model=“zonecreate.name”]’).
Всем Большое Спасибо!