【问题标题】:Unable to set up selenium grid with my local machine as hub and microsoft azure VM as node无法使用我的本地计算机作为集线器和 microsoft azure VM 作为节点来设置 selenium 网格
【发布时间】:2018-12-08 18:58:42
【问题描述】:

我试图在 stackoverflow 上搜索这个问题的答案,但没有找到正确的答案。所以发这个。请告诉我如何解决这个问题。

我正在尝试以我的本地计算机作为集线器来设置 selenium 网格。我创建了一个 microsoft azure VM 并尝试将其用作节点。

我在集线器(我的本地机器)上执行了以下命令,它开始在端口 4444 上列出。

java -jar selenium-server-standalone-2.53.1.jar -role hub

我在虚拟机(节点)上执行了以下命令,但它没有在集线器上注册。

java -Dwebdriver.chrome.driver="D:\selenium\geckodriver.exe" -jar selenium-server-standalone-2.53.1.jar -role webdriver -hub http://
176.154.37.8:4444/grid/register/ -port 5566

我已打开 VM 上所有必需的端口,但仍然无法正常工作。日志如下所示。

你能检查一下并告诉我我做错了什么吗?

中心日志:

E:\>java -jar selenium-server-standalone-2.53.1.jar -role hub

18:40:38.638 信息 - 启动 Selenium Grid 集线器

2018-06-29 18:40:40.478:INFO::main: 记录已初始化 @2079ms

18:40:40.497 INFO - 将在 4444 上收听

18:40:40.565 INFO - 将在 4444 上收听

2018-06-29 18:40:40.569:INFO:osjs.Server:main: jetty-9.2.z-SNAPSHOT

2018-06-29 18:40:40.606:INFO:osjsh.ContextHandler:main: 开始 o.s.j.s.ServletContextHandler@17211155{/,null,AVAILABLE}

2018-06-29 18:40:40.636:INFO:osjs.ServerConnector:main: 开始 ServerConnector@4d85a01a{HTTP/1.1}{0.0.0.0:4444}

2018-06-29 18:40:40.639:INFO:osjs.Server:main: 开始 @2241ms

18:40:40.640 INFO - 节点应该注册到 http://176.154.37.8:4444/grid/register/

18:40:40.640 信息 - Selenium Grid 中心已启动并正在运行

节点日志:

D:\selenium>java -Dwebdriver.chrome.driver="D:\selenium\geckodriver.exe" -jar selenium-server-standalone-2.53.1.jar -role webdriver -hub http://176.154.37.8:4444/grid/register/ -port 5566 -debug

14:24:05.488 INFO - 启动 Selenium Grid 节点

14:24:06.285 调试 - 已选择 CookieSpec:默认

14:24:06.301 调试 - 未在上下文中设置身份验证缓存

14:24:06.301 DEBUG - 连接请求:[route: {}->myurl:4444][total 保持活力:0;分配的路线:2000 条中的 0 条;总分配:0 of 2000]

14:24:06.332 调试 - 连接租用:[id:0][route: {}->myurl:4444][存活总数:0;分配的路线:2000 条中的 1 条;全部的 分配:1 of 2000]

14:24:06.332 调试 - 打开连接 {}->myurl:4444

14:24:06.332 调试 - 连接到 /192.168.32.1:4444

14:24:27.352 调试 - http-outgoing-0:关闭连接

14:24:27.352 调试 - 连接被丢弃

14:24:27.352 DEBUG - 连接已释放:[id: 0][route: {}->myurl:4444][存活总数:0;分配的路线:2000 条中的 0 条;全部的 已分配:0 of 2000]

14:24:27.352 WARN - 从集线器获取参数时出错。这 节点可能以错误的超时结束。连接到 192.168.32.1:4444 [/192.168.32.1] 失败:连接超时:连接

14:24:27.399 信息 - Java:甲骨文公司 25.172-b11

14:24:27.399 信息 - 操作系统:Windows 10 10.0 amd64

14:24:27.415 信息 - v2.53.1,带有核心 v2.53.1。从修订构建 a36b8b1

14:24:27.415 INFO - Selenium 服务器在调试模式下运行。

14:24:27.415 调试 - 添加组件:SocketListener0@0.0.0.0:5566

14:24:27.446 调试 - 添加组件: org.openqa.jetty.http.ResourceCache@12cdcf4

14:24:27.446 调试 - 添加组件: org.openqa.selenium.server.ProxyHandler in HttpContext[/,/]

14:24:27.446 DEBUG - 添加组件:HttpContext[/,/]

14:24:27.462 调试 - 为主机添加了 HttpContext[/,/] *

14:24:27.462 调试 - 添加组件: org.openqa.jetty.http.ResourceCache@ed9d034

14:24:27.462 调试 - 添加 SC{BASIC,null,user,CONFIDENTIAL} 于 /org/openqa/selenium/tests/html/basicAuth/*

14:24:27.477 调试 - 添加组件: org.openqa.jetty.http.handler.SecurityHandler 在 HttpContext[/selenium-server,/selenium-server]

14:24:27.477 调试 - 添加组件: org.openqa.selenium.server.StaticContentHandler 在 HttpContext[/selenium-server,/selenium-server] 14:24:27.477 调试 - 添加组件:org.openqa.selenium.server.SessionExtensionJsHandler in HttpContext[/selenium-server,/selenium-server]

14:24:27.477 调试 - 添加组件: org.openqa.selenium.server.htmlrunner.SingleTestSuiteResourceHandler 在 HttpContext[/selenium-server,/selenium-server]

14:24:27.477 调试 - 添加组件: org.openqa.selenium.server.htmlrunner.SeleniumHTMLRunnerResultsHandler@3891771e

14:24:27.477 调试 - 添加组件: HttpContext[/selenium-server,/selenium-server]

14:24:27.477 调试 - 添加 HttpContext[/selenium-server,/selenium-server] 用于主机 *

14:24:27.509 信息 - 找不到驱动程序类: com.opera.core.systems.OperaDriver

14:24:27.509 信息 - 驱动程序提供程序 com.opera.core.systems.OperaDriver 未注册

14:24:27.524 信息 - 驱动程序提供程序 org.openqa.selenium.safari.SafariDriver 注册被跳过: 注册功能 Capabilities [{browserName=safari, version=, platform=MAC}] 与当前平台 WIN10 不匹配

14:24:27.524 信息 - 找不到驱动程序类: org.openqa.selenium.htmlunit.HtmlUnitDriver

14:24:27.524 信息 - 驱动程序提供程序 org.openqa.selenium.htmlunit.HtmlUnitDriver 未注册

14:24:27.540 调试 - 添加组件: org.openqa.jetty.http.ResourceCache@5e57643e

14:24:27.540 调试 - 添加组件: org.openqa.selenium.server.SeleniumDriverResourceHandler 在 HttpContext[/selenium-server,/selenium-server]

14:24:27.540 调试 - 添加组件: HttpContext[/selenium-server/driver,/selenium-server/driver]

14:24:27.540 调试 - 添加 HttpContext[/selenium-server/driver,/selenium-server/driver] 用于主机 *

14:24:27.540 调试 - 添加组件: org.openqa.jetty.http.ResourceCache@45afc369

14:24:27.556 调试 - 添加组件:WebDriver 远程服务器

14:24:27.556 调试 - 添加组件: org.openqa.jetty.jetty.servlet.HashSessionManager@1e9e725a

14:24:27.571 调试 - 添加组件: org.openqa.jetty.jetty.servlet.ServletHandler@15d9bc04

14:24:27.571 调试 - 添加组件:HttpContext[/wd,/wd]

14:24:27.571 调试 - 为主机添加了 HttpContext[/wd,/wd] *

14:24:27.571 调试 - 启动 org.openqa.jetty.jetty.Server@2353b3e6

14:24:27.571 信息 - 版本 Jetty/5.1.x

14:24:27.571 调试 - 侦听器:[SocketListener0@0.0.0.0:5566]

14:24:27.571 调试 - 处理程序: {null={/selenium-server/=[HttpContext[/selenium-server,/selenium-server]], /wd/=[HttpContext[/wd,/wd]], /selenium-server/driver/*=[HttpContext[/selenium-server/driver,/selenium-server/driver]], /=[HttpContext[/,/]]}}

14:24:27.571 调试 - 开始 HttpContext[/selenium-server,/selenium-server]

14:24:27.571 调试 - 从 null 初始化类加载器, sun.misc.Launcher$AppClassLoader@5c647e05 为 HttpContext[/selenium-server,/selenium-server]

14:24:27.571 调试 - 开始 org.openqa.jetty.http.handler.SecurityHandler 在 HttpContext[/selenium-server,/selenium-server]

14:24:27.571 调试 - 开始 org.openqa.selenium.server.StaticContentHandler 在 HttpContext[/selenium-server,/selenium-server]

14:24:27.571 调试 - 开始 org.openqa.selenium.server.SessionExtensionJsHandler 中 HttpContext[/selenium-server,/selenium-server]

14:24:27.571 调试 - 开始 org.openqa.selenium.server.htmlrunner.SingleTestSuiteResourceHandler 在 HttpContext[/selenium-server,/selenium-server]

14:24:27.571 调试 - 开始 org.openqa.selenium.server.SeleniumDriverResourceHandler 在 HttpContext[/selenium-server,/selenium-server]

14:24:27.571 信息 - 开始 HttpContext[/selenium-server,/selenium-server]

14:24:27.571 调试 - 启动 HttpContext[/wd,/wd]

14:24:27.571 调试 - 从 null 初始化类加载器, sun.misc.Launcher$AppClassLoader@5c647e05 for HttpContext[/wd,/wd]

14:24:27.571 调试 - 开始 org.openqa.jetty.jetty.servlet.ServletHandler@15d9bc04

14:24:27.571 调试 - 新的随机会话种子

14:24:27.571 调试 - 开始持有班级 org.openqa.selenium.remote.server.DriverServlet

14:24:27.571 调试 - 会话清道夫周期 = 30 秒

14:24:27.571 信息 - 开始 org.openqa.jetty.jetty.servlet.ServletHandler@15d9bc04

14:24:27.571 信息 - 已启动 HttpContext[/wd,/wd]

14:24:27.587 调试 - 开始 HttpContext[/selenium-server/driver,/selenium-server/driver]

14:24:27.587 调试 - 从 null 初始化类加载器, sun.misc.Launcher$AppClassLoader@5c647e05 为 HttpContext[/selenium-server/driver,/selenium-server/driver]

14:24:27.587 信息 - 开始 HttpContext[/selenium-server/driver,/selenium-server/driver]

14:24:27.587 调试 - 启动 HttpContext[/,/]

14:24:27.587 调试 - 从 null 初始化类加载器, sun.misc.Launcher$AppClassLoader@5c647e05 for HttpContext[/,/]

14:24:27.602 调试 - 开始 org.openqa.selenium.server.ProxyHandler 在 HttpContext[/,/]

14:24:27.602 INFO - 已启动 HttpContext[/,/]

14:24:27.602 INFO - 在 0.0.0.0:5566 上启动 SocketListener

14:24:27.602 信息 - 已启动 org.openqa.jetty.jetty.Server@2353b3e6

14:24:27.602 INFO - Selenium Grid 节点已启动并准备注册 枢纽

14:24:27.634 调试 - 使用 json 请求: {"class":"org.openqa.grid.common.RegistrationRequest","configuration":{"role":"webdriver","debug":"","re​​moteHost":"http://10.0.1.4:5566","hubHost" :"192.168.32.1","hubPort":4444,"url":"http://10.0.1.4:5566","proxy":"org.openqa.grid.selenium.proxy.DefaultRemoteProxy","hub":"myurl:4444/ grid/register/","port":5566,"host":"10.0.1.4","maxSession":5,"registerCycle":5000,"register":true},"capabilities":[{"browserName" :"firefox","seleniumProtocol":"WebDriver","maxInstances":5,"platform":"WIN10"},{"browserName":"chrome","seleniumProtocol":"WebDriver","maxInstances":5 ,"平台":"WIN10"},{"浏览器名称":"互联网 explorer","seleniumProtocol":"WebDriver","maxInstances":1,"platform":"WINDOWS"}]}

14:24:27.634 信息 - 启动自动注册线程。会尝试 每 5000 毫秒注册一次。

14:24:27.634 INFO - 将节点注册到集线器: myurl:4444/grid/register

14:24:27.634 调试 - 已选择 CookieSpec:默认

14:24:27.634 调试 - 未在上下文中设置身份验证缓存

14:24:27.650 DEBUG - 连接请求:[route: {}->myurl:4444][total 保持活力:0;分配的路线:2000 条中的 0 条;总分配:0 of 2000] 14:24:27.650 调试 - 连接租用:[id:1][route: {}->myurl:4444][存活总数:0;分配的路线:2000 条中的 1 条;全部的 分配:1 of 2000]

14:24:27.650 调试 - 打开连接 {}->myurl:4444

14:24:27.650 调试 - 连接到 /192.168.32.1:4444

14:24:31.149 信息 - 正在关闭...

谢谢你, 子。

【问题讨论】:

    标签: selenium selenium-grid


    【解决方案1】:

    如果我没记错的话,您应该使用-role node 而不是-role webdriver 启动节点。

    看看Selenium Grid Documentation

    还要确保在日志中节点连接到正确的集线器 IP 地址,可能是在网络级别配置了错误。

    如果您想检查从节点到集线器的连接,最简单的选项是运行:

    telnet <HUB-IP-ADDR/DNS> 4444
    

    如果你得到“连接”,那么你就有了连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 2018-06-12
      • 2015-02-02
      • 1970-01-01
      相关资源
      最近更新 更多