Я получаю сообщение об ошибке при использовании Firefox с WebDriver.
org.openqa.selenium.firefox.NotConnectedException: Unable to connect
to host 127.0.0.1 on port 7055 after 45000 ms.
- Версия Firefox: 47.0
- Селен: 2,53,0
- Windows 10 64 бит
У кого-нибудь возникает аналогичная проблема или есть идеи, как решить эту проблему? Он отлично работает с Chrome, но с Firefox ни один из URL-адресов не загружается.
Ответы:
К сожалению, Selenium WebDriver 2.53.0 несовместим с Firefox 47.0. Компонент WebDriver, который обрабатывает браузеры Firefox (
FirefoxDriver
), будет прекращен. Начиная с версии 3.0, Selenium WebDriver потребуетсяgeckodriver
двоичный файл для управления браузерами Firefox. Больше информации здесь и здесь .Следовательно, чтобы использовать Firefox 47.0 в качестве браузера с Selenium WebDriver 2.53.0, вам необходимо загрузить драйвер Firefox (который представляет собой двоичный файл, называемый
geckodriver
начиная с версии 0.8.0 и ранееwires
) и экспортировать его абсолютный путь к переменнойwebdriver.gecko.driver
как системное свойство в вашем Java-коде:К счастью, библиотека WebDriverManager может сделать эту работу за вас, т.е. загрузить соответствующий двоичный файл Marionette для вашего компьютера (Linux, Mac или Windows) и экспортировать значение соответствующего системного свойства. Чтобы использовать эту библиотеку, вам необходимо включить эту зависимость в свой проект:
... а затем выполните эту строку в своей программе перед использованием WebDriver:
Полный пример выполнения тестового примера JUnit 4 с использованием WebDriver может быть следующим:
Учтите, что Marionette будет единственным вариантом в будущем (для WebDriver 3+ и Firefox 48+), но в настоящее время (версия 0.9.0 на момент написания) не очень стабильна. Взгляните на дорожную карту Marionette для получения дополнительной информации.
ОБНОВИТЬ
Selenium WebDriver 2.53.1 был выпущен 30 июня 2016 года.
FirefoxDriver
Он снова работает с Firefox 47.0.1 в качестве браузера.источник
C:\Windows\system32>netstat -ano | find "7055" TCP 127.0.0.1:2896 127.0.0.1:7055 SYN_SENT 2052
Попробуйте использовать firefox 46.0.1. Лучше всего подходит для Selenium 2.53
источник
У меня была такая же проблема, и я узнал, что вам нужно сменить драйверы, потому что поддержка была прекращена . Вместо использования драйвера Firefox вам нужно использовать драйвер марионетки для запуска ваших тестов. В настоящее время я сам работаю над настройкой и могу опубликовать несколько предлагаемых шагов, если вы хотите, когда у меня будет рабочий пример.
Вот шаги, которые я выполнил, чтобы заставить это работать в моей среде Java на Mac (у меня также работало в моих установках Linux (Fedora, CentOS и Ubuntu)):
mkdir -p /opt/marionette
)$PATH
чтобы включить исполняемый файл (также, отредактируйте,.bash_profile
если хотите)chmod +x /opt/marionette/wires-x.x.x
это исполняемый файлБыстрая заметка
Все еще не работает должным образом, но, по крайней мере, запускает браузер. Нужно выяснить, почему - прямо сейчас мне кажется, что мне нужно переписать свои тесты, чтобы заставить его работать.
Фрагмент Java
источник
Если вы используете OSX и Homebrew, вы можете установить старые версии Firefox через brew cask:
После установки вам просто нужно переименовать исполняемый файл FF в каталоге приложений в «Firefox».
Дополнительную информацию можно найти на git repo homebrew-firefox . Реквизит smclernon для создания оригинальной бочки .
источник
Если у вас Mac, сделайте это
brew install geckodriver
и вперед!источник
На случай, если кому-то интересно, как использовать Marionette на C #.
Переопределение FirefoxOptions для предоставления функции для добавления дополнительных возможностей и настройки профиля Firefox, потому что selenium v53 еще не предоставляет эту функцию.
Примечание: запуск с профилем не работает с FF 47, он работает с FF 50 Nightly.
Однако мы попытались преобразовать наш тест для использования Marionette, и на данный момент это просто нецелесообразно, потому что реализация драйвера либо не завершена, либо содержит ошибки. Я бы посоветовал людям понизить версию своего Firefox прямо сейчас.
источник
Новые библиотеки Selenium теперь отсутствуют, согласно: https://github.com/SeleniumHQ/selenium/issues/2110
Страница загрузки http://www.seleniumhq.org/download/, похоже, еще не обновлена, но, добавив 1 к второстепенной версии в ссылке, я смог загрузить версию C #: http: // selenium-release. storage.googleapis.com/2.53/selenium-dotnet-2.53.1.zip
У меня работает с Firefox 47.0.1.
Кстати, я смог построить только расширение Firefox webdriver.xpi из основной ветки в GitHub, запустив
./go //javascript/firefox-driver:webdriver:run
- который выдал сообщение об ошибке, но создал файл build / javascript / firefox-driver / webdriver.xpi , который я можно было переименовать (чтобы избежать конфликта имен) и успешно загрузить с помощью метода FirefoxProfile.AddExtension. Это был разумный обходной путь без необходимости перестраивать всю библиотеку Selenium.источник
Это проблема FF47 https://github.com/SeleniumHQ/selenium/issues/2110
Пожалуйста, перейдите на FF 46 или ниже (или попробуйте разработчик FF48 https://developer.mozilla.org/en-US/Firefox/Releases/48 )
Инструкции по переходу на более раннюю версию: https://www.liberiangeek.net/2012/04/how-to-install-previous-versions-of-firefox-in-ubuntu-12-04-precise-pangolin/ Или, если вы на Mac, как предложил кто-то еще в этой теме, используйте brew.
источник
Firefox 47.0 перестал работать с Webdriver.
Самое простое решение - перейти на Firefox 47.0.1 и Webdriver 2.53.1. Эта комбинация снова работает. Фактически, восстановление совместимости с Webdriver было основной причиной выпуска 47.0.1, согласно https://www.mozilla.org/en-US/firefox/47.0.1/releasenotes/ .
источник
Вы можете попробовать использовать этот код,
Я обновился до selenium 3.0.0, а версия Firefox - 49.0.1
Вы можете скачать geckodriver.exe со страницы https://github.com/mozilla/geckodriver/releases.
Убедитесь, что вы загружаете только zip-файл, файл geckodriver-v0.11.1-win64.zip или файл win32 в соответствии с вашей системой и извлекаете его в папку.
Поместите путь к этой папке в кавычки «Ваш путь к драйверу». Не забудьте указать в пути geckodriver.exe.
источник
В конце концов я установил дополнительную старую версию Firefox (использованную только для тестирования), чтобы решить эту проблему, помимо моей обычной (безопасной, актуальной) последней установки Firefox.
Для этого требуется, чтобы webdriver знал, где он может найти двоичный файл Firefox, который можно настроить с помощью
webdriver.firefox.bin
свойства.Что сработало для меня (mac, maven,
/tmp/ff46
как установочная папка):Чтобы установить старую версию Firefox в специальную папку, создайте папку, откройте Finder в этой папке, загрузите Firefox dmg и перетащите его в этот Finder.
источник
Вот как выглядела проблема в Wireshar k
Просто загрузите 2.53.1, и все будет работать.
источник
По состоянию на сентябрь 2016 г.
Firefox 48.0
иselenium==2.53.6
работать нормально без ошибокЧтобы обновить Firefox
Ubuntu 14.04
только наисточник
Мне кажется, что лучшим решением будет обновление до Selenium 3.0.0, загрузка geckodriver.exe и использование Firefox 47 или выше.
Я изменил инициализацию Firefox на:
источник
Я могу подтвердить, что
selenium 2.53.6
уfirefox 44
меня работает на ubuntu 15.источник