我对Selenium Grid有问题。然后我尝试连接到节点,节点侧出现错误。+
通过这种方式运行集线器:
java -jar .\selenium-server-standalone-3.141.59.jar -role hub
我通过这种方式运行节点:
java -jar .\selenium-server-standalone-3.141.59.jar -role node -nodeConfig .\NodeConfig.json
NodeConfig.json:
{
"capabilities":
[
{
"browserName": "chrome",
"platform": "WINDOWS",
"maxInstances": 5,
"chrome_binary":"chromedriver.exe",
"seleniumProtocol": "WebDriver",
"nodeName": "Local Chrome Node"
}
],
"maxSession": 5,
"port": 5555,
"register": true,
"registerCycle": 5,
"hub": "http://localhost:4444",
"webdriver.chrome.driver":"<path to chromedriver.exe>"
"nodeStatusCheckTimeout": 5,
"nodePolling": 5,
"role": "node",
"unregisterIfStillDownAfter": 60,
"downPollingLimit": 2,
"debug": false,
"servlets" : [],
"withoutServlets": [],
"custom": {}
}
简化的Java代码:
DriverService service = null;
ChromeOptions opts = new ChromeOptions();
opts.addArguments("-incognito");
opts.addArguments("--no-sandbox");
driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), opts);
在Java方面: 较长的堆栈跟踪(我认为这个问题没有必要)
在节点端:
java -jar。\ selenium-server-standalone-3.141.59.jar -role节点 -nodeConfig。\ NodeConfig.json 15:39:56.377 INFO [GridLauncherV3.parse]-Selenium服务器版本:3.141.59,修订: e82be7d358 15:39:56.513信息 [GridLauncherV3.lambda $ buildLaunchers $ 7]-启动一个硒网格 端口5555上的节点2019-06-18 15:39:56.921:INFO :: main:正在记录 已将@ 807ms初始化为org.seleniumhq.jetty9.util.log.StdErrLog
15:39:57.200 INFO [WebDriverServlet。]-初始化 WebDriverServlet 15:39:57.292信息[SeleniumServer.boot]-Selenium 服务器已启动并在端口5555 15:39:57.293 INFO上运行 [GridLauncherV3.lambda $ buildLaunchers $ 7]-Selenium Grid节点启动 并准备注册到集线器15:39:57.456 INFO [SelfRegisteringRemote $ 1.run]-启动自动注册线程。 将尝试每5毫秒注册一次。 15:39:57.955信息 [SelfRegisteringRemote.registerToHub]-将节点注册到 集线器:http://localhost:4444/grid/register 15:39:58.106信息 [SelfRegisteringRemote.registerToHub]-节点已注册到 集线器并准备使用15:40:06.931 INFO [ActiveSessionFactory.apply] -功能包括:{“ browserName”:“ chrome”,“ goog:chromeOptions”:{
“ args”:[
“ -incognito”,
“ --no-sandbox”
], “扩展名”:[
],
“ binary”:“ chromedriver.exe”}} 15:40:06.933信息[ActiveSessionFactory.lambda $ apply $ 11]-匹配的工厂 org.openqa.selenium.grid.session.remote.ServicedSession $ Factory (提供者:org.openqa.selenium.chrome.ChromeDriverService)开始 ChromeDriver 75.0.3770.90 (a6dcaf7e3ec6f70a194cc25e8149475c6590e025-refs / branch-heads / 3770 @ {#1003}) 在端口21040上仅允许本地连接。请保护 ChromeDriver和相关测试框架使用的端口,以防止 通过恶意代码访问。启动ChromeDriver 75.0.3770.90 (a6dcaf7e3ec6f70a194cc25e8149475c6590e025-refs / branch-heads / 3770 @ {#1003}) 在端口9515上仅允许本地连接。请保护 ChromeDriver和相关测试框架使用的端口,以防止 通过恶意代码访问。无效的--log级值。无法 初始化日志记录。正在退出...
在集线器端:
java -jar。\ selenium-server-standalone-3.141.59.jar -role hub
15:39:50.884 INFO [GridLauncherV3.parse]-Selenium服务器版本: 3.141.59,修订:e82be7d358 15:39:51.000 INFO [GridLauncherV3.lambda $ buildLaunchers $ 5]-启动Selenium Grid Hub 在端口4444 2019-06-18 15:39:51.425:INFO :: main:记录已初始化 @ 805ms到org.seleniumhq.jetty9.util.log.StdErrLog 15:39:51.831 INFO [Hub.start]-Selenium Grid Hub已启动并正在运行15:39:51.832 INFO [Hub.start]-节点应注册到http://%我的IP%:4444 / grid / register / 15:39:51.832 INFO [Hub.start]-客户端 应该连接到http://%My IP%:4444 / wd / hub 15:39:58.105 INFO [DefaultGridRegistry.add]-注册了节点http://:5555
15:40:06.623 INFO [RequestHandler.process]-获得创建一个请求的请求 新会话:功能{浏览器名称:chrome,goog:chromeOptions: {args:[-隐身,-no-sandbox],扩展名:[]}} 15:40:06.632 INFO [TestSlot.getNewSession]-尝试在测试中创建新会话 插槽{chrome_binary = chromedriver.exe,nodeName =本地Chrome节点, 服务器:CONFIG_UUID = 186192e2-e951-4cef-b527-291aa9c0e2f5, seleniumProtocol = WebDriver,webdriver.chrome.driver = / chromedriver.exe,browserName = chrome,maxInstances = 1, platformName = WINDOWS,版本= 75,platform = WINDOWS}
因此,如何解决此问题并在节点侧配置日志(我想通过.json文件创建日志)
答案 0 :(得分:0)
分析def isNumberOneBigger(tuple: Tuple): Boolean = tuple match {
case tuple._1 > tuple._2 => true
}
以及 Selenium Grid Hub 和 Selenium Grid Hub 日志,NodeConfig.json
参数似乎存在问题。
sandbox库允许创建可以在非常严格的环境中执行的沙盒进程,但无法将其写入磁盘。铬渲染器是沙盒过程。
有关 Selenium 客户端 ChromeDriver / Chrome 版本的更多信息可以帮助我们以更好的方式调试问题。但是,当您在常规模式(非 headless )下使用 Chrome 时,您可以删除参数 --no-sandbox
。