一尘不染

selenium网格侦听节点端口而不是集线器端口

selenium

为了进行测试,我在不同端口上本地运行网格和节点。

java -jar /usr/bin/selenium-server.jar -port 4444 -role hub
java -jar /usr/bin/selenium-server.jar -role node -hub http://127.0.0.1:4444/grid/register -port 5556

因此,网格在4444上运行,而节点在5556上运行。

在我的测试中,如果我以

driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities=desired_capabilities)

然后测试失败,但出现异常

response = {'status': 500, 'value': '{"status":13,"value":{"class":"java.lang.NullPointerException","stackTrace":[{"fileName":"Ha...n","lineNumber":590},{"fileName":"Thread.java","className":"java.lang.Thread","methodName":"run","lineNumber":745}]}}'}

如果我在节点端口5555而不是集线器端口4444上运行测试,则测试通过,如下所示

driver = webdriver.Remote(command_executor='http://127.0.0.1:5555/wd/hub', desired_capabilities=desired_capabilities)

我认为,我们应该在集线器端口上运行测试,在本例中为4444,而不是5555。

如果我错了,请纠正我。


阅读 390

收藏
2020-06-26

共1个答案

一尘不染

如果你打算使用 SeleniumGrid 通过配置 HubNode 配置,我会建议你使用最新的selenium-server-standalone-3.6.0 jar如下:

  1. 启动 Selenium Grid Hub (默认情况下在端口4444上):

    java -jar selenium-server-standalone-3.6.0.jar -role hub
    
  2. 确认 Selenium Grid Hub 已启动:

        16:06:29.891 INFO - Nodes should register to http://192.168.1.48:4444/grid/register/
    16:06:29.891 INFO - Selenium Grid hub is up and running
  1. 访问 Selenium Grid Hub Console 并确保 Selenium Grid Hub 已启动并正在运行:

    http://localhost:4444/grid/console
    
  2. 启动 Selenium Grid Node Mozilla / GeckoDriver 的(默认情况下,在端口5555上):

        java -Dwebdriver.gecko.driver=geckodriver.exe -jar selenium-server-standalone-3.6.0.jar -role node -hub http://localhost:4444/grid/register
  1. 确认 Selenium Grid Node 已注册并启动:
        16:15:54.696 INFO - Selenium Grid node is up and ready to register to the hub
    16:15:54.742 INFO - Starting auto registration thread. Will try to register every 5000 ms.
    16:15:54.742 INFO - Registering the node to the hub: http://localhost:4444/grid/register
    16:15:54.975 INFO - The node is registered to the hub and ready to use
  1. 与执行 Testcase 具有 DesiredCapabilities 如下:
        self.driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities=caps)
  1. 成功执行以下命令时,请观察控制台日志,并以以下结尾 Testcase
        16:23:50.590 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@37ff9771
    16:23:50.590 INFO - Handler thread for session 31a1dcb0-8bed-40fb-acdb-d5be19f03ba2 (firefox): Executing DELETE on /session/31a1dcb0-8bed-40fb-acdb-d5be19f03ba2
     (handler: ServicedSession)
    1506941630595   Marionette      INFO    New connections will no longer be accepted
2020-06-26