无效的--log级值。无法初始化日志记录。启动Selenium Grid Node

时间:2019-06-18 11:59:42

标签: selenium google-chrome selenium-webdriver selenium-chromedriver selenium-grid

我对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文件创建日志)

1 个答案:

答案 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


tl;博士

Unable to Create Driver Instance for chrome in ubuntu