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, и теперь мой тест работает нормально.

Ответ 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 установлен. ОС выглядит как: Vista​​p >

Интересно, почему люди, которые переустановили 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

Ответ 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, все было решено.