Невозможно подключиться к узлу сетки селена
Я пытаюсь подключиться к нет на машине Linux с RemoteWebDriver, но безуспешно. Это код:
public WebDriver googlechrome(){ /*Method to start Google Chrome.*/
WebDriver driver = null;
ChromeOptions options = new ChromeOptions(); /*ChromeOptions is for firing Chrome with additional settings.*/
options.addArguments("--allow-file-access-from-files"); /*Allow Chrome to access files*/
options.addArguments("user-data-dir="+System.getProperty("user.dir")+pathChrome);
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
capabilities.setBrowserName("chrome");
capabilities.setPlatform(Platform.LINUX);
try { // driver = new RemoteWebDriver(new URL("http://localhost:9515"), capabilities);
driver = new RemoteWebDriver(new URL("http://jenkins.bgr.ionidea.com:4444/grid/console"),capabilities);
Chatterbox.chatterinfo("Connected to Chromedriver");
} catch (Exception e) {
Chatterbox.chattererror("Could not connect to Chromedriver. Here is the stacktrace:", e); //
e.printStackTrace();
}
return driver;
}
Когда я запускаю этот код на локальной машине, он работает нормально. Однако, когда я пытаюсь запустить его через Grid, возникает следующая ошибка.
org.openqa.selenium.WebDriverException: невозможно проанализировать удаленный ответ: Grid Console.busy {непрозрачность: 0,4; фильтр: альфа (непрозрачность =40);}
Селен
Grid Console v.3.1.0
https://github.com/SeleniumHQ/selenium/wiki/Grid2'>HelpDefaultRemoteProxy (версия: 3.4.0) id: http://proxyhost:port, ОС: LINUXБраузеры конфигурация
WebDriverv:
v:
browserTimeout: 0
отладка: ложь
помощь: ложь
порт: 5555
роль: узел
время ожидания: 1800
cleanUpCycle: 5000
хост: 10.91.3.204
maxSession: 5
Возможности: Возможности [{seleniumProtocol=WebDriver, browserName=firefox, maxInstances=5, платформа =LINUX}]
Возможности: Возможности [{seleniumProtocol=WebDriver, browserName=chrome, maxInstances=5, платформа =LINUX}]
downPollingLimit: 2
концентратор: http://jenkins/ хост jenkins: порт jenkins
id: http: // узел ip: порт узла
hubHost: jenkins.bgr.ionidea.com
Порт: 4444
nodePolling: 5000
nodeStatusCheckTimeout: 5000
proxy: org.openqa.grid.selenium.proxy.DefaultRemoteProxy
зарегистрироваться: есть
registerCycle: 5000
remoteHost: http: // узел ip: порт узла
unregisterIfStillDownAfter: 60000
просмотреть конфигурацию Информация о сборке: версия: '3.4.0', версия: 'неизвестно', время: 'неизвестно' Информация о системе: хост: 'Brindalas-MacBook-Air-2.local', ip: '10.91.17.123', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.5', java.version: '1.8.0_121'Информация о драйвере: driver.version: RemoteWebDriver по адресу org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:353) в org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:159) в org.openqa.selenium.remote.Havapex) в org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:637) в org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:250) в org.openverremote.Re.startSession(RemoteWebDriver.java:236) в org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:137) в org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:17vers в..googlechrome(Browsers.java:45) в core.drivers.Selenium.startBrowser(Selenium.java:18) в tryFireBrowser.fireBrowser(tryFireBrowser.java:13) в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в sun.reflect.NinMethod NativeMethodAccessorImpl.java:62) в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke(Method.java:498) в обращении к членству в Совете.java:108) в org.testng.internal.Invoker.invokeMethod(Invoker.java:661) в org.testng.internal.Invoker.invokeTestMethod(Invoker.java:869) в org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1193) в org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126) в org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:10RunTuner.priun.test) at org.test.java:744) в org.testng.TestRunner.run(TestRunner.java:602) в org.testng.SuiteRunner.runTest(SuiteRunner.java:380) в org.testng.SuiteRunner.runSequentially(SuiteRunner.java:375) в org.testng.SuiteRunner.privateRun(SuiteRunner.java:340) в org.testng.SuiteRunner.run(SuiteRunner.java:289) в org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) в org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) в org.testng.TestNG.runSuitesSequentially(TestN01.g.jt: org0)..runSuitesLocally(TestNG.java:1226) в org.testng.TestNG.runSuites(TestNG.java:1144) в org.testng.TestNG.run(TestNG.java:1115) в org.testng.IDEARemoteTestNG.run(IDEAR. Java:72) в org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:127) в sun.reflect.NativeMethodAccessorImpl.invoke0(родной метод) в sun.reflect.NativeMethodAccessorImpl.invoke.jpg.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke(Method.java:498) в com.intellij.rt.execution.application.AppMain.main(AppMain.j AVA:147)
Первая строка исключения говорит о том, что он не может что-то проанализировать, но я не могу понять, что?
Я что-то пропустил? Я делаю настройку сетки в первый раз.
1 ответ
Проблема заключается в следующей строке
driver = new RemoteWebDriver(new URL("http://jenkins.bgr.ionidea.com:4444/grid/console"),capabilities);
Вы подключаетесь к сервлету консоли, а не к сервлету, который отвечает за выполнение новых сеансов.
Пожалуйста, измените вышеприведенную строку на
driver = new RemoteWebDriver(new URL("http://jenkins.bgr.ionidea.com:4444/wd/hub"),capabilities);
и попробуй еще раз. Вы должны быть в порядке.