无法在运行/连接的Selenium网格节点

时间:2017-08-17 03:16:17

标签: jenkins configuration matching selenium-grid

我实际上有两个相关的问题。我无法在连接到Jenkins下运行的网格服务器的Selenium Grid节点(在“节点匹配配置”下列出)上启动“匹配配置”。我也无法找到任何包含相关信息的错误日志。

  1. 无法在运行/连接的Selenium网格节点上启动“匹配配置”
  2. 执行此操作时写入的日志在哪里
  3. 症状:

    • 点击其中一个“匹配配置”旁边的“开始”按钮后,该页面会快速刷新,您在“正在运行的配置”下看不到任何条目。

    设置/故障排除

    • 运行Grid Console v.3.5.0
    • 运行Jenkins slave.war 3.1.0
    • 打开适当的防火墙规则以建立连接
    • 网格代理节点已连接到selenium网格服务器
    • 代理节点使用java web start .jnlp文件开始。
    • .jnlp文件显示连接
    • 您会在匹配配置下看到已连接的代理节点
    • 我可以在Selenium Grid服务器上启动“匹配配置”

    在代理节点上的日志(C:\ jenkins \ remoting \ logs)中,我在“匹配配置”启动失败后看到的最后一个条目显示成功消息,这显然是无关的 - (我实际上并不真的看到任何错误。)

    2017年8月16日下午10:31:08 org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver解析 信息:远程处理服务器接受以下协议:[JNLP4-connect,JNLP-connect,Ping,JNLP2-connect]

    在selenium Grid控制台中,我看到:

    Starting Selenium Grid
    [Jenkins] $ "C:\Program Files (x86)\Jenkins\jre\bin\java" -cp "C:\Program 
    Files (x86)\Jenkins\war\WEB-INF\lib\remoting-3.10.jar" 
    hudson.remoting.Launcher -cp "C:\Program Files 
    (x86)\Jenkins\plugins\selenium\WEB-INF\lib\selenium-server-standalone-
    3.5.0.jar;C:\Program Files (x86)\Jenkins\plugins\selenium\WEB-
    INF\lib\htmlunit-driver-standalone-2.20.jar" -connectTo localhost:7138
    Starting Selenium Grid
    channel started
    Aug 16, 2017 10:23:13 PM hudson.plugins.selenium.HubLauncher call
    OFF: Grid hub starting with log level INFO
    Aug 16, 2017 10:23:13 PM hudson.plugins.selenium.HubLauncher call
    OFF: Grid Hub preparing to start on port 4444
    2017-08-16 22:23:14.131:INFO::pool-1-thread-1 for channel id=167: Logging             
    initialized @1842ms to org.seleniumhq.jetty9.util.log.StdErrLog
    Aug 16, 2017 10:23:14 PM org.openqa.grid.web.Hub initServer
    INFO: Will listen on 4444
    2017-08-16 22:23:14.193:INFO:osjs.Server:pool-1-thread-1 for channel id=167: 
    jetty-9.4.5.v20170502
    2017-08-16 22:23:14.225:INFO:osjs.session:pool-1-thread-1 for channel 
    id=167: DefaultSessionIdManager workerName=node0
    2017-08-16 22:23:14.225:INFO:osjs.session:pool-1-thread-1 for channel 
    id=167: No SessionScavenger set, using defaults
    2017-08-16 22:23:14.225:INFO:osjs.session:pool-1-thread-1 for channel 
    id=167: Scavenging every 600000ms
    2017-08-16 22:23:14.225:INFO:osjsh.ContextHandler:pool-1-thread-1 for 
    channel id=167: Started 
    o.s.j.s.ServletContextHandler@1962b49{/,null,AVAILABLE}
    2017-08-16 22:23:14.240:INFO:osjs.AbstractConnector:pool-1-thread-1 for 
    channel id=167: Started ServerConnector@b7382c{HTTP/1.1,[http/1.1]}
    {0.0.0.0:4444}
    2017-08-16 22:23:14.240:INFO:osjs.Server:pool-1-thread-1 for channel id=167: 
    Started @1960ms
    Aug 16, 2017 10:23:14 PM hudson.plugins.selenium.HubLauncher call
    OFF: Grid Hub started on port 4444 with args: -maxSession 5 -timeout 300 -
    browserTimeout 0 -host [my-jenkins-server]
    Aug 16, 2017 10:23:17 PM org.openqa.grid.internal.Registry add
    INFO: Registered a node http://[my-jenkins-server]:4445
    Aug 16, 2017 10:23:54 PM org.openqa.grid.internal.Registry removeIfPresent
    WARNING: Cleaning up stale test sessions on the unregistered node 
    http://[my-jenkins-server]:4445
    channel stopped
    

    非常感谢任何有用的错误数据的明显建议或位置。

    谢谢!

1 个答案:

答案 0 :(得分:0)

故障排除

我弄清楚问题是什么。仅使用.jnlp文件将Selenium Agent节点连接到Selenium Grid Master是不够的。

解决方案

我还必须在每个代理上启动selenium独立服务器。

实施

我在Windows代理上创建了一个Windows批处理文件,它做了两件事。

  1. 启动了.jnlp连接
  2. 启动了selenium独立服务器(jar文件)
  3. 观察

    在节点上启动匹配配置的功能相同,当您单击“开始”时,它只是刷新,并且配置未列在"运行配置"下。但是,如果您转到集线器管理UI以及网格控制台"网格控制台"您可以看到已启用的浏览器的已连接代理。此外,当您在Visual Studio中本地运行测试并将它们指向网格时,代理实际上会运行测试。

    现在问题可能只是一个用户界面问题,将会得到解决。最终,代理程序已连接并可以运行分布式测试。