Я только начинаю с Selenium и написал кучу тестов с помощью Chrome. Затем я попытался запустить те же тесты с Firefox, но большинство из них не работает.Получение Firefox для загрузки новой страницы после нажатия ссылки в Selenium?
Я кучу тестов, которые немного так:
1. Find link
2. Click link
3. Confirm the title of the new page matches what I expect
Это прекрасно работает в Chrome, но в Firefox шаг 3, кажется, выполняется немедленно, до того, как браузер успел загрузить страница. Все тесты проходят, если я добавлю пару секунд, но я бы предпочел избежать этого.
Это проблема конфигурации, или есть лучший способ написать тесты, чтобы помочь с совместимостью?
Это основы теста, который работает в Chrome, но терпит неудачу в Firefox
link = driver.find_element_by_link_text(link_text)
link.click()
# Check if `driver.title` contains `title`
assert title in driver.title
Вставка time.sleep(2)
после щелчка делает его работу.
(Я получаю такую же ошибку с моим тестом на проверку подлинности: заполните форму, нажмите «Отправить», подтвердите, что пользователь перенаправлен на нужную страницу. В Chrome это проходит, в Firefox передняя проверка выполняется на странице входа в систему ., так как браузер до сих пор не закончил перенаправление на новую страницу, я получаю сообщение о том, что тесты не удалось, а второй позже браузер отображает ожидаемую страницу)
Спасибо, это сработало. –
Добро пожаловать. Фактически вы можете удалить 'from selenium.webdriver.support import expected_conditions как EC', поскольку я использовал функцию lambda вместо« Ожидаемые условия », поэтому этот импорт был ошибочно добавлен – Andersson