Selenium Grid Hub, который я запускаю, отображает это сообщение об ошибке всякий раз, когда тест автоматизации Robot Framework (запускаемый заданием Jenkins) запрашивает браузер Chrome из концентратора:
Session [(null externalkey))] недоступен и не входит в число последних 1000 завершенных сеансов.
Я часами искал и пробовал предлагаемые решения без удачи.
Запуск сервера Linux в качестве SeleniumGrid Hub и сервер Windows как узел сети Selenium.Пробовал каждый узел с версиями 3.0.1, 3.5.3, 3.13.0 и 3.141.59 из файлов selenium-server-standalone-<version>.jar
.Третий сервер работает под управлением Jenkins.
Похоже, что концентратор настроен должным образом, поскольку он работает нормально:
http://10.1.10.231:4444/grid/console
Я также запустил файлы jar по адресукомандная строка с -debug
в конце, но дополнительная информация не отображается.Также пробовали -Dselenium.LOGGER.level=WARNING
на «стороне java» командной строки, не отображая никакой дополнительной информации, кроме как с помощью -debug
.
У нас есть другой набор серверов с такой же конфигурацией, который работает просто отлично.
Кто-нибудь имеет представление о том, что указывает это сообщение?
Далее следует Nitty-gritty.
Hrid Hub:
java -jar -Xms1024m -Xmx2048m selenium-server-standalone-3.141.59.jar -role hub -hubConfig ./hub-config.json
hub-config.json:
{
"port": 4444,
"newSessionWaitTimeout": -1,
"servlets" : [],
"withoutServlets": [],
"custom": {},
"capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
"throwOnCapabilityNotPresent": true,
"cleanUpCycle": 5000,
"role": "hub",
"debug": false,
"browserTimeout": 360,
"timeout": 1800
}
Узел сетки:
SET CHROMEDRIVER=.\bin\chromedriver_win32-v2.37\chromedriver.exe
SET IEDRIVER=.\bin\IEDriverServer.exe
SET FFDRIVER=.\bin\geckodriver-v0.11.1-win32\geckodriver.exe
START "SeleniumNode" java -Xms1024m -Xmx2048m ^
-Dwebdriver.gecko.driver=%FFDRIVER% ^
-Dwebdriver.ie.driver=%IEDRIVER% ^
-Dwebdriver.chrome.driver=%CHROMEDRIVER% -Dwebdriver.chrome.args="--disable-extensions" ^
-jar .\bin\selenium-server-standalone-3.141.59.jar -role node -nodeConfig .\node-config.json
node-config.json:
{
"capabilities":
[
{
"browserName": "firefox",
"maxInstances": 5,
"platform": "WINDOWS",
"seleniumProtocol": "WebDriver"
},
{
"browserName": "chrome",
"maxInstances": 5,
"platform": "WINDOWS",
"seleniumProtocol": "WebDriver"
},
{
"browserName": "internet explorer",
"maxInstances": 5,
"platform": "WINDOWS",
"seleniumProtocol": "WebDriver"
}
],
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"maxSession": 5,
"port": 5555,
"register": true,
"registerCycle": 5000,
"hub": "http://10.1.10.231:4444",
"nodeStatusCheckTimeout": 5000,
"nodePolling": 5000,
"role": "node",
"unregisterIfStillDownAfter": 60000,
"downPollingLimit": 2,
"debug": false,
"servlets" : [],
"withoutServlets": [],
"custom": {},
"browserTimeout": 0,
"timeout": 1800,
"cleanUpCycle": 2000
}