Selenium WebDriver - ошибка FirefoxDriver: не удалось запустить сокет в 45000
Я получаю эту ошибку:
tests.IntegrationTests.Selenium.RegisterAndLogin (TestFixtureSetUp):
SetUp : OpenQA.Selenium.WebDriverException : Failed to start up socket within 45000
когда я выполняю следующее в своем коде:
using System;
using System.Text;
using NUnit.Framework;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium;
namespace ekmProspector.tests.IntegrationTests.Selenium
{
[TestFixture]
public class RegisterAndLogin
{
private IWebDriver driver;
[TestFixtureSetUp]
public void Init()
{
driver = new FirefoxDriver();
}
}
Не может быть намного проще, но ошибка является фатальной. Любые идеи?
Ответы
Ответ 1
Я получил эту работу в конце, я удалил все подпапки пакета, которые были добавлены NuGet при установке WebDriver, и решил добавить их вручную. Создал папку "lib", затем распаковал двоичные файлы селена в эту папку. Затем добавлены ссылки на все двоичные файлы. Кажется, теперь все в порядке.
Ответ 2
Решение так же просто, как pie:)
Щелкните правой кнопкой мыши на проекте .Net(С#) и выберите опцию "Управление пакетами NuGet...", как показано ниже:
![введите описание изображения здесь]()
Затем выберите специальные пакеты Selenium, они должны обновиться, обновив их.
![введите описание изображения здесь]()
Обновленные пакеты будут обновляться автоматически.
![введите описание изображения здесь]()
Это работает для меня.
Ответ 3
Я решил это, полностью удалив Firefox и все профили и переустановку.
Ответ 4
Я обнаружил, что смог исправить эту проблему в Firefox Selenium, обновив пакеты Selenium в NuGet.
Но это все равно оставляет проблему с ручным обновлением драйверов Chrome и IE, если возникают подобные проблемы.
Ответ 5
Я также столкнулся с проблемой при запуске теста в NUnit. Я нашел много решений для удаления или деградации вашего Firefox. Но я решил это другим способом: я удаляю все ссылки, связанные с веб-драйверами, и добавляю веб-драйвер обновления к решению.
В моем приложении версия webdriver была 2.24, поэтому я заменил ее на 2.43, и теперь мой тест работает нормально.
Ответ 6
Для тех, кто недавно нашел этот вопрос (2015-02-27), кажется, что проблема с совместимостью с Selenium и Firefox 36 открыта:
https://code.google.com/p/selenium/issues/detail?id=8399
Вы можете скачать Firefox 35 здесь: http://www.filehippo.com/download_firefox/59889/
Ответ 7
У меня была эта проблема с последней версией Firefox (42) и Selenium (2.48.2). Удаление и повторная установка (через Nuget) исправили проблему для меня.
Ответ 8
Версия
FF v48
Selenium Webdriver v2.53.1
Windows 7 (x64)
.Net 4.0 и .Net 4.5
Попытка исправления
В соответствии с @jaffa я вручную добавил следующие рефери и получил проблему:
WebDriver.dll v2.53.1
WebDriver.Support.dll v2.53.1
Затем я их не обменивал и следил за @HassanRahman и использовал NuGet:
WebDriver.dll v2.53.1
WebDriver.Support.dll v2.53.1
По-прежнему такая же ошибка.
OpenQA.Selenium.WebDriverException: Не удалось запустить сокет в 45000
Устранение неполадок
У меня была догадка и я решил отказаться от таргетинга .Net 4.5 на .Net 4.0 (полный профиль не клиента), а ошибка изменилась на:
Необработанное исключение типа "OpenQA.Selenium.WebDriverException" произошло в WebDriver.dll Дополнительная информация: Невозможно найти двоичный файл Firefox в PATH или местоположениях установки по умолчанию. Убедитесь, что Firefox установлен. ОС выглядит как: Vistap >
Интересно, почему люди, которые переустановили FireFox, снова заработали?
Где-то должен быть набор ключей реестра или переменная среды для поиска FireFox ApplicationStartupPath. Вы можете увидеть некоторые из этих путей в этой трассе ProcessMonitor:
![введите описание изображения здесь]()
На скриншоте выше вы можете увидеть приложение (AstrobLabe). Я использую эту строку кода:
using (IWebDriver driver = new FirefoxDriver(ffprofile))
Он вызывает поиск FireFox v48 и его поиск в неправильном каталоге:
C:\Program Files (x86)\Mozilla FireFox\FireFox.exe
В моей системе FireFox установлен в:
C:\Program Files (x86)\Mozilla\Firefox\FireFox.exe
В любом случае поиск и исправление этой проблемы (не удается найти бинар Firefox в PATH или местоположениях установки по умолчанию) для кого-то еще, чтобы исправить, я просто скопировал каталог Firefox в Mozilla FireFox.
Но затем он возвращается к исходной ошибке:
Необработанное исключение типа "OpenQA.Selenium.WebDriverException" произошло в WebDriver.dll Дополнительная информация: Не удалось запустить сокет в течение 45000 миллисекунд. Попытка подключения к следующим адресам: 127.0.0.1:7055
Решение
Затем я наткнулся на этот ответ, в котором говорится, что FireFox v46 работает с Selenium 2.53:
Какая версия Firefox совместима с Selenium 2.53.0?
Когда я понизил рейтинг, я увидел, что FFv46 устанавливает:
C:\Program Files (x86)\Mozilla FireFox\FireFox.exe
Итак, проверьте, находится ли ваша FF-установка в этом месте, которое на основе ProcessMonitor Trace Selenium не может найти:
C:\Program Files (x86)\Mozilla\Firefox\FireFox.exe
Ответ 9
Я обнаружил, что работает старая версия resharper (9.2) не работала с последним nunit, и это привело к тому, что selenium перегрелся.
Временным решением было отключить resharper (Tools → Options → Resharper → Disable), постоянное решение обновляет resharper.
Ответ 10
Повторная установка браузера FF исправила проблему.
Ответ 11
Какую версию Selenium IDE вы используете? Попробуйте понизить версию Firefox. Замечания по выпуску IDE селена упоминаются в ссылке ниже.
https://code.google.com/p/selenium/wiki/SeIDEReleaseNotes
Надеюсь, что это поможет.
Ответ 12
1) Снизьте ваш firefox до < 19, потому что, если я правильно помню WebDriver 2.33 поддержка максим Firefox 19
2)
FirefoxProfile profile = new FirefoxProfile();
profile.Port = 9966;
Global.Driver = new FirefoxDriver(profile);
P.S. Я использую firefox 16, чтобы не было этой проблемы.
Ответ 13
У меня такая же проблема с селеной версией 2.37.xx с браузером Firefox 42.0
После обновления версии selenium версии 2.48.2 исправлено
Ответ 14
Я работал с С# с WebDriver 2.53/Firefox 46. Пробовал переустанавливать вещи, вручную добавлять и т.д., но понижая Firefox до 43, исправил это для меня.
Ответ 15
Обновление через "NuGet" помогло мне. Firefox 47 и Selenium Webdriver 2.53 не работали. Проверяя сайт селена, он по-прежнему показывает "2,53" как последний. Проверяя "NuGet", я увидел, что есть версия "2.53.1". Установка этой версии - это то, что заставило мой Firefox 47 работать снова.
Ответ 16
Ни в одном из предыдущих ответов явно не указано, что конкретные версии Selenium WebDriver работают с определенными версиями Firefox. Этот вопрос SO говорит нам, что матрица совместимости Webdriver/Firefox здесь.
Другая вещь, о которой стоит сказать, заключается в том, что Firefox, как правило, обновляется автоматически или автоматически, когда новые версии становятся доступными, в зависимости от настроек. Поскольку Webdriver не обновляется автоматически, это открывает вероятность того, что совместимость с Webdriver/Firefox неожиданно сломается, и ваши тестовые скрипты перестанут работать, когда Firefox обновится до версии, которая не поддерживается версией Webdriver. Я подозреваю, что приведенные выше ответы дают указание пользователям переустанавливать Webdriver с помощью Nuget, просто забирают новейший Webdriver, который работает с новейшим Firefox, который только что установил себя на вашем компьютере.
Чтобы Firefox не обновлялся, нажмите кнопку меню в Firefox (три горизонтальные полосы, верхний правый угол), выберите "Параметры", выберите "Дополнительно" в меню слева, выберите вкладку "Обновить" на вверху, и вы увидите набор переключателей в разделе "Обновления Firefox". Выберите параметр "Автоматическая установка обновлений".
Ответ 17
Изображение ошибки
Посмотрите изображение с ошибкой, я полностью удалил и переустановил версию46, все было решено.