Не могу понять почему у меня появляется ошибка TimeoutException когда все элементы находятся если я не использую wait.until а например использую time.wait(1).
Первое что приходит в голову - time.wait(1) ждет 1 секунду, за которую элементы таки не загружаются, а wait.until будет ждать 10 секунд пока элементы не загрузятся. Потомоу и ексепшн.
С time.wait(1) все работает. Но правельно использывать until.wait. У меня until.wait работает на других скриптах, но как я перешол на unittest перестал работать.
Работает, но браузер открывается 2 раза. Я думаю что моя проблема в том что поиск всех алиментов происходит на странице которая задана в def setUp() а когда происходит login то меняется url. Я думаю что нужно в методах указывать на каком url нужно искать элементы.
Ну походу да. Если задача просто проверить элементы - открывайте разные урл.
Если элементы в зависимости от нажатой кнопки - делайте в одном методе.
Я бы так делал, но не факт что это правильный подход )
Зависит от организации тестов.
После клика осуществляется переход, ожидаем какойто эелемент на новой странице, и проверяем уже там. Не надо передавать никакой новый url (в случае одного метода).
Или же снимать текущую урлу driver.current_url и передавать куда надо (в случае нескольких методов).
Но в этом случае, зачем делать несколько методов? Как организован тесткейс? Что то нажали на странице, перешли на другую страницу, и там нашли элемент - правильно? Ну это один тесткейс, по сути один метод.
Вроде разобрался… Я написал в коде что нужно дождаться одного из элемента который должен, загрузится на следующей странице, и только потом продолжать тест.