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);