Добрый день! У меня возникла проблема. Есть код, который прекрасно работает в Firefox и Chrome. Но стоит мне в качества драйвера назначить InternetExplorerDriver (последняя версия), как появляется проблема.
Я пытаюсь загрузить нужную страницу с помощью оператора driver.get(url), он помещает нужный мне адрес в адресную строку, но не осуществляет перехода по ней! Т.е. страница остается старая, а адрес в строке новый. Подскажите, пожалуйста, что можно сделать?
Проблемы с InternetExplorerDriver
#1
Отправлено 11 июня 2014 - 20:44
#2
Отправлено 12 июня 2014 - 06:47
#3
Отправлено 12 июня 2014 - 09:41
Пробовал на работе на Windows 8 и Internet Explorer 10 и дома на 8.1 и IE11. Причем штука в том, что он как-то избирательно подходит к переходам. В начале он отрабатывает, а потом отказывается это делать. То же самое с кликами, как выяснилось. Кликает сперва, а потом нет. Ладно бы везде не работали, а так только в IE ((
#4
Отправлено 12 июня 2014 - 10:25
С 11 убедитесь что выполнены все необходимые настройки https://code.google....tExplorerDriver
А ignoreProtectedModeSettings часом в тру не сетаете?
ignoreProtectedModeSettings - Whether to skip the protected mode check. If set, tests may become flaky, unresponsive, or browsers may hang. If not set, and protected mode settings are not the same for all zones, an exception will be thrown on driver construction. Only "best effort" support is provided when using this capability.
#5
Отправлено 12 июня 2014 - 10:42
Нет, у меня появлялась ошибка про тайм зоны на 11. Я вообще ничего не сетал, просто запустить как driver = new InternetEplorerDriver(). А что нужно логить? В коде при пошаговом дебаге я вижу, как в коде выполняется driver.get() - при этом он на нужную страницу не переходит, только адрес кидает в адресную строку. Если бы можно было залогить, что конкретно драйвер сервер пытается сделать... Но я не знаю как)
#6
Отправлено 12 июня 2014 - 10:48
http://software-test...er/#entry123093
И... попробуйте в дебаге сделать это ручками - может ВебДрайвер тут вовсе не при чем.
#7
Отправлено 12 июня 2014 - 11:27
Сообщение отредактировал barancev: 16 июня 2014 - 08:19
Удалён приаттаченный файл, содержащий конфиденциальную информацию
#8
Отправлено 12 июня 2014 - 11:53
Эммм...
Сначала вы говорите
driver.get(url), он помещает нужный мне адрес в адресную строку, но не осуществляет перехода по ней!
Потом
Кликает сперва, а потом нет.
А по факту вываливаете банальный
org.openqa.selenium.NoSuchElementException: Unable to find element with xpath
С дюрейшном 292 milliseconds.
Хотя если смотреть логи, первый элемент который вы ищете //*[@id="email"] ищется около 30 секунд.
#чтотонетак
Что именно сделать ручками?
Поставить бряк на проблемном driver.get и руками сделать переход.
По логам все ок - запрос на get прошел {"url":"http://xxxxxxxxxxxxx...bt1/server/77"}
, дождалось readyState==complite, нашло первый элемент //*[@id='node-stat']/div[1]/h3/span, упало на поиске второго элемента.
Сообщение отредактировал barancev: 16 июня 2014 - 14:15
Удалена конфиденциальная информация по просьбе автора
#9
Отправлено 12 июня 2014 - 11:59
Судя по логу -- никаких серьёзных проблем нет, просто элемент не найден.
get не гарантирует окончания загрузки страницы, используйте ожидание появления элемента.
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#10
Отправлено 12 июня 2014 - 12:00
Я же написал, что прямых эксепшенов по моей проблеме нет! В дебаге я вижу, как код driver.get(url) выполняется, но он не выхывает перехода на нужную страницу, только новый адрес из url подставляется в адресную строку и все. Второе - он кликает кодом element.click() по ссылке, но опять не переходит. При этом никаких эксепшенов по этому поводу нет. Эксепшен выше случается потому, что после driver.get() в нормальных браузерах ожидается, что будет загружен другая страница. А здесь этого не происходит. Он пытается найти элемент со страницы, которые должен загрузить driver.get() и, естественно, не находит.
get не гарантирует окончания загрузки страницы, используйте ожидание появления элемента.
Дело в том, что он даже не начинает загрузку.
#11
Отправлено 12 июня 2014 - 12:20
#12
Отправлено 12 июня 2014 - 13:06
Да, оказалось, что аналоговый вариант driver.get() тоже не работает. Прошу прощения! И спасибо всем за помощь! :-)
#13
Отправлено 15 июня 2014 - 13:29
Чтобы не плодить темы, задам новый вопрос здесь. Все равно название темы подходит :-)
В IE driver обнаружил проблему: команда driver.getCurrentUrl() возвращает url предыдущей страницы! Как так? Кто-нибудь сталкивался с этим?
Уже в дебаге подождал, пока страница полностью загрузится, забил в watch driver.getCurrentUrl() и все равно предыдущая страница!
#14
Отправлено 15 июня 2014 - 15:55
Пруф?
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#15
Отправлено 16 июня 2014 - 07:15
Я не могу дать ссылку на проект компании, т.к. это будет разглашение КТ. Но написанное выше мной - правда. В FireFox все работает нормально, проблема с IE.
#16
Отправлено 16 июня 2014 - 07:20
#17
Отправлено 16 июня 2014 - 07:33
Как их закосить? Не могу изменить старое сообщение
Алексей, я скинул вам кое-что в личку. Посмотрите, пожалуйста!
#18
Отправлено 18 июня 2014 - 07:10
После driver.get(url), который подгружает страницу корректно, любая следующая операция со страницей приводит к NoSuchWindow exception.
Нашел в интернете это:
You may be running afoul of issue 6511[1]. The driver can lose connection with IE11, even if you're doing everything correctly. There is currently no known workaround; the issue is squarely in Microsoft's hands. The root issue with IE11 can be reproduced entirely outside WebDriver code, using only COM interop calls, and we have demonstrated the issue to members of the IE team. At this point, the general state of affairs with IE11 is that if you get it working, count yourself lucky, but when it goes pear-shaped, you're on your own. The situation is unfortunate, but we are where we are.
Но тут говорят, что все печально и не лечится. Может это все же можно вылечить?
#19
Отправлено 18 июня 2014 - 07:41
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#20
Отправлено 23 июня 2014 - 09:56
Добрый день. Также пишу свои вопросы сюда, т.к. тема вроде как подходит, если нужно будет вынесу в отдельную тему.
Система kubuntu. Предварительно создал тесты в Selenium IDE. Далее запускаю их командой в консоли:
java -jar selenium-server-standalone-2.42.2.jar -htmlSuite *firefox http://localhost suite.html result.html
В ходе выполнения появляется ошибка:
Default driver org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match with current platform: LINUX
Далее сами тесты выполняются в фаерфокс, но после выполнения фаерфокс не закрывается и в консоли нет сообщений о завершении, последнее сообщение это:
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных