WedDriverException: java.util.HashMap не может быть приведен к java.lang.String при инициализации RemoteWebDriver

Я пытаюсь запустить тесты Junit в parllel, выполнил настройку сетки с 3 узлами, при выполнении теста получено исключение

org.openqa.selenium.firefox.NotConnectedException: невозможно подключиться к хосту 127.0.0.1 через порт 7055 после 45000 мс.

Насколько я понимаю, нет ничего общего с Firefox и селеновой версией, я полагаю, что исключение связано с блокировкой, установленной firefox для экземпляра веб-драйвера, которая не освобождается в течение 45000 мс, что вызывает исключение тайм-аута для другого экземпляра веб-драйвера, пытающегося подключиться к порт 7055 одновременно (из-за медлительности системы)

Поэтому я считаю, что увеличение времени ожидания в этом случае с помощью следующего кода

   DesiredCapabilities capablities = new DesiredCapabilities();

    FirefoxBinary firefoxBinary = new FirefoxBinary();
    firefoxBinary.setTimeout(120000);


    FirefoxProfile profile = new FirefoxProfile();
    profile.setAcceptUntrustedCertificates(true);
    profile.setAssumeUntrustedCertificateIssuer(false);

    capablities = DesiredCapabilities.firefox();

    capablities.setCapability("firefox_binary", firefoxBinary);
    capablities.setCapability("firefox_profile", profile);

   driver =  new RemoteWebDriver(new URL("http://" + parameters.getRemoteUrl() + ":4444/wd/hub"), capablities);

но снова получено исключение WedDriverException: java.util.HashMap не может быть приведен к java.lang.String

Это исключение выдается при настройке возможности firefoxbinary

capablities.setCapability("firefox_binary", firefoxBinary);

В противном случае экземпляр RemoteWebdriver создается без проблем.

Пожалуйста, дайте мне знать, если я прав в увеличении тайм-аута в отношении блокировки на порту 7055, если так, пожалуйста, помогите мне в решении исключения веб-драйвера в Firefox Binary

2 ответа

Я не уверен, что полученная вами исходная ошибка (Невозможно подключиться к хосту 127.0.0.1 через порт 7055) связана с проблемой тайм-аута. Я уверен, что это связано с используемой вами версией selenium и firefox. Посмотрите на аналогичный вопрос и мой ответ на SO, если вы еще этого не сделали. Я считаю, что вам нужно обновить версию Selen, если вы не используете последнюю версию.

У меня та же проблема

этот код работает на моем локальном компьютере.

FirefoxProfile fp = new FireFoxProfile();
fp.setPreference("Firefox43", "43.0.1");        
File pathBinary = new 
         File("C:\\PathToFirefox\\firefox.exe");
FirefoxBinary firefoxBinary = new FirefoxBinary(pathBinary);       
WebDriver driver = new FirefoxDriver(firefoxBinary, fp);

Но этот код не...

FirefoxProfile fp = new FirefoxProfile();
fp.setPreference("Firefox43", "43.0.1");
File pathBinary = new 
         File("C:\\PathToFirefox\\firefox.exe");
FirefoxBinary firefoxBinary = new FirefoxBinary(pathBinary);        
capabilities.setCapability(FirefoxDriver.PROFILE, fp);
capabilities.setCapability(FirefoxDriver.BINARY,firefoxBinary);
WebDriver driver = new RemoteWebDriver(new URL(hubUrl), capabilities);

Кажется, что есть ошибка с RemoteWebDriver, проверьте этот вопрос

ОБНОВИТЬ!!!!!

Используйте:

capabilities.setCapability(FirefoxDriver.BINARY, new
            File("C:\\PathToFirefox\\firefox.exe"));

Вместо...

File pathBinary = new 
             File("C:\\PathToFirefox\\firefox.exe");
FirefoxBinary firefoxBinary = new FirefoxBinary(pathBinary);
capabilities.setCapability(FirefoxDriver.BINARY,firefoxBinary);
Другие вопросы по тегам