如果指定了直接节点ip,IE11测试运行,但在指定网格集线器URL时失败

Vad*_*dim 8 selenium selenium-grid

我使用nodejs selenium-standalone,我有:

1)使用role = hub在Mac上运行的selenium-standalone

2)使用role = node在Mac上运行的selenium-standalone(在本地Mac浏览器上运行测试)

3)Windows 10安装在parallels桌面上,运行带有role = node的selenium-standalone

4)关于本文配置IE11 https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#required-configuration

我在我的测试(yandex gemini)中有gridUrl配置,当我将它设置为windows节点url(http://10.211.55.4:5555/wd/hub)时,IE11测试工作正常.但是当我将gridUrl设置为正确的值(意味着本地网格集线器127.0.0.1:4444/wd/hub)时,IE11会打开"这是WebDriver服务器的初始启动页面".和控制台中"仅允许本地连接".在这种情况下,所有其他Windows浏览器都可以正常工作(chrome,firefox,edge).在mac selenium网格集线器控制台或windows selenium节点控制台中没有任何错误 - 似乎网格集线器不知何故错误地尝试调用Windows节点IEDriver.

启动selenium的命令:

1)MacOS中心:

java -jar 3.8.1-server.jar -role hub
Run Code Online (Sandbox Code Playgroud)

2)Windows10节点:

java -jar 3.8.1-server.jar -role node -hub http://192.168.1.4:4444/grid/register
Run Code Online (Sandbox Code Playgroud)

在此之后,我可以在MacOS http://127.0.0.1:4444/grid/console上看到所有节点和浏览器.

我使用selenium 3.8.1,IEdriver x64 3.8.0

MacOS中心终端截图:

MacOS集线器终端截图

Windows节点cmd截图:

Windows节点cmd截图

MacOS网格集线器控制台截图与配置:

MacOS网格集线器控制台截图与配置

MacOS网格集线器控制台截图:

MacOS网格集线器控制台截图

集线器和节点的DEBUG模式输出:

Windows节点控制台成功输出(不使用网格集线器直接连接):

2018-01-21 22:07:43.348:INFO:osjshC.ROOT:qtp31280858-9: org.openqa.selenium.remote.server.WebDriverServlet-11d44a3: Initialising WebDriverServlet

22:07:43.379 INFO - Found handler: org.openqa.selenium.remote.server.commandhandler.BeginSession@1f51925

22:07:43.379 INFO - /session: Executing POST on /session (handler: BeginSession)

22:07:43.458 INFO - Capabilities are: Capabilities {browserName: internet explorer, javascriptEnabled: true, platform: WINDOWS, version: }

22:07:43.458 INFO - Capabilities {browserName: internet explorer, javascriptEnabled: true, platform: WINDOWS, version: } matched class org.openqa.selenium.remote.server.ServicedSession$Factory (provider: org.openqa.selenium.ie.InternetExplorerDriverService)

Started InternetExplorerDriver server (64-bit)
3.8.0.0
Listening on port 3512

Only local connections are allowed

22:07:43.770 DEBUG - CookieSpec selected: default

22:07:43.770 DEBUG - Auth cache not set in the context

22:07:45.551 INFO - Detected dialect: W3C

22:07:45.598 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:45.598 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing POST on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/window/current/size (handler: ServicedSession)

22:07:45.770 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:45.770 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing POST on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/execute (handler: ServicedSession)

22:07:45.833 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:45.833 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing POST on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/moveto (handler: ServicedSession)

22:07:45.865 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:45.865 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing POST on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/url (handler: ServicedSession)

22:07:46.428 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:46.428 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing POST on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/execute (handler: ServicedSession)

22:07:46.489 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:46.489 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing POST on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/execute (handler: ServicedSession)

22:07:46.552 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:46.552 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing POST on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/execute (handler: ServicedSession)

22:07:46.615 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:46.615 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing POST on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/execute (handler: ServicedSession)

22:07:47.208 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:47.208 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing GET on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/screenshot (handler: ServicedSession)

22:07:47.301 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:47.301 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing POST on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/execute (handler: ServicedSession)

22:07:47.349 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:47.349 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing GET on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/screenshot (handler: ServicedSession)

22:07:47.520 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:47.520 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing POST on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/execute (handler: ServicedSession)

22:07:47.599 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:47.599 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing GET on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/screenshot (handler: ServicedSession)

22:07:47.771 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:47.786 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing POST on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/execute (handler: ServicedSession)

22:07:47.833 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:47.833 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing GET on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f/screenshot (handler: ServicedSession)

22:07:48.567 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@c91496

22:07:48.567 INFO - Handler thread for session 7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (internet explorer): Executing DELETE on /session/7bfb0881-fcfb-48fc-8f6a-cdbdf7164a6f (handler: ServicedSession)

22:07:48.598 INFO - Removing session org.openqa.selenium.remote.server.ServicedSession@c91496
Run Code Online (Sandbox Code Playgroud)

Windows节点控制台输出失败(通过mac grid hub连接):

2018-01-21 22:14:36.612:INFO:osjshC.ROOT:qtp29933260-14: org.openqa.selenium.remote.server.WebDriverServlet-1474f18: Initialising WebDriverServlet

22:14:36.628 INFO - Found handler: org.openqa.selenium.remote.server.commandhandler.BeginSession@1f793e6

22:14:36.628 INFO - /session: Executing POST on /session (handler: BeginSession)

22:14:36.721 INFO - Capabilities are: Capabilities {browserName: internet explorer, javascriptEnabled: true, platform: WINDOWS, version: }

22:14:36.721 INFO - Capabilities {browserName: internet explorer, javascriptEnabled: true, platform: WINDOWS, version: } matched class org.openqa.selenium.remote.server.ServicedSession$Factory (provider: org.openqa.selenium.ie.InternetExplorerDriverService)

22:14:36.752 DEBUG - Waiting for [http://localhost:15388/status]

22:14:36.752 DEBUG - Polling http://localhost:15388/status

Started InternetExplorerDriver server (64-bit)
3.8.0.0
Listening on port 15388
Only local connections are allowed

22:14:37.269 DEBUG - Polling http://localhost:15388/status

22:14:37.269 DEBUG - sun.net.www.MessageHeader@14906bf5 pairs: {GET /status HTTP/1.1: null}{User-Agent: Java/1.8.0_161}{Host: localhost:15388}{Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2}{Connection: keep-alive}

22:14:37.269 DEBUG - sun.net.www.MessageHeader@4b81f27 pairs: {null: HTTP/1.1 200 OK}{Content-Length: 185}{Content-Type: application/json; charset=UTF-8}{Cache-Control: no-cache}{Vary: Accept-Charset, Accept-Encoding, Accept-Language, Accept}{Accept-Ranges: bytes}{Connection: close}

22:14:37.283 DEBUG - CookieSpec selected: default

22:14:37.283 DEBUG - Auth cache not set in the context
22:14:37.283 DEBUG - Connection request: [route: {}->http://localhost:15388][total kept alive: 0; route allocated: 0 of 2000; total allocated: 0 of 2000]

22:14:37.283 DEBUG - Connection leased: [id: 2][route: {}->http://localhost:15388][total kept alive: 0; route allocated: 1 of 2000; total allocated: 1 of 2000]
22:14:37.283 DEBUG - Opening connection {}->http://localhost:15388
22:14:37.283 DEBUG - Connecting to localhost/127.0.0.1:15388

22:14:37.283 DEBUG - Connection established 127.0.0.1:52058<->127.0.0.1:15388
22:14:37.283 DEBUG - http-outgoing-2: set socket timeout to 10800000
22:14:37.283 DEBUG - Executing request POST /session HTTP/1.1
22:14:37.283 DEBUG - Target auth state: UNCHALLENGED
22:14:37.283 DEBUG - Proxy auth state: UNCHALLENGED

22:14:37.283 DEBUG - http-outgoing-2 >> POST /session HTTP/1.1
22:14:37.283 DEBUG - http-outgoing-2 >> Content-Type: application/json; charset=utf-8
22:14:37.283 DEBUG - http-outgoing-2 >> Content-Length: 364
22:14:37.283 DEBUG - http-outgoing-2 >> Host: localhost:15388
22:14:37.283 DEBUG - http-outgoing-2 >> Connection: Keep-Alive

22:14:37.283 DEBUG - http-outgoing-2 >> User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_161)
22:14:37.283 DEBUG - http-outgoing-2 >> Accept-Encoding: gzip,deflate
22:14:37.283 DEBUG - http-outgoing-2 >> "POST /session HTTP/1.1[\r][\n]"
22:14:37.283 DEBUG - http-outgoing-2 >> "Content-Type: application/json; charset=utf-8[\r][\n]"
22:14:37.283 DEBUG - http-outgoing-2 >> "Content-Length: 364[\r][\n]"

22:14:37.283 DEBUG - http-outgoing-2 >> "Host: localhost:15388[\r][\n]"
22:14:37.283 DEBUG - http-outgoing-2 >> "Connection: Keep-Alive[\r][\n]"
22:14:37.283 DEBUG - http-outgoing-2 >> "User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_161)[\r][\n]"
22:14:37.283 DEBUG - http-outgoing-2 >> "Accept-Encoding: gzip,deflate[\r][\n]"
22:14:37.283 DEBUG - http-outgoing-2 >> "[\r][\n]"

22:14:37.283 DEBUG - http-outgoing-2 >> "{[\n]"
22:14:37.283 DEBUG - http-outgoing-2 >> "  "desiredCapabilities": {"browserName":"internet explorer","javascriptEnabled":true,"platform":"WINDOWS","version":""},[\n]"

22:14:37.283 DEBUG - http-outgoing-2 >> "  "capabilities": {[\n]"
22:14:37.283 DEBUG - http-outgoing-2 >> "    "desiredCapabilities": {"browserName":"internet explorer","javascriptEnabled":true,"platform":"WINDOWS","version":""},[\n]"
22:14:37.283 DEBUG - http-outgoing-2 >> "    "firstMatch": [[\n]"
22:14:37.283 DEBUG - http-outgoing-2 >> "      {"browserName":"internet explorer","platformName":"windows"}[\n]"

22:14:37.283 DEBUG - http-outgoing-2 >> "    ][\n]"
22:14:37.283 DEBUG - http-outgoing-2 >> "  }[\n]"
22:14:37.283 DEBUG - http-outgoing-2 >> "}"

22:14:38.833 DEBUG - http-outgoing-2 << "HTTP/1.1 200 OK[\r][\n]"

22:14:38.833 DEBUG - http-outgoing-2 << "Content-Length: 692[\r][\n]"
22:14:38.833 DEBUG - http-outgoing-2 << "Content-Type: application/json; charset=UTF-8[\r][\n]"
22:14:38.833 DEBUG - http-outgoing-2 << "Cache-Control: no-cache[\r][\n]"
22:14:38.833 DEBUG - http-outgoing-2 << "Vary: Accept-Charset, Accept-Encoding, Accept-Language, Accept[\r][\n]"
22:14:38.833 DEBUG - http-outgoing-2 << "Accept-Ranges: bytes[\r][\n]"
22:14:38.833 DEBUG - http-outgoing-2 << "Connection: close[\r][\n]"
22:14:38.833 DEBUG - http-outgoing-2 << "[\r][\n]"
22:14:38.833 DEBUG - http-outgoing-2 << "{"value":{"capabilities":{"acceptInsecureCerts":false,"browserName":"internet explorer","browserVersion":"11","pageLoadStrategy":"normal","platformName":"windows","proxy":{},"se:ieOptions":{"browserAttachTimeout":0,"elementScrollBehavior":0,"enablePersistentHover":true,"ie.browserCommandLineSwitches":"","ie.ensureCleanSession":false,"ie.fileUploadDialogTimeout":3000,"ie.forceCreateProcessApi":false,"ignoreProtectedModeSettings":false,"ignoreZoomSetting":false,"initialBrowserUrl":"http://localhost:15388/","nativeEvents":true,"requireWindowFocus":false},"setWindowRect":true,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000}},"sessionId":"3aba8a66-2b37-4516-b16c-b34acaea1555"}}[\n]"
22:14:38.833 DEBUG - http-outgoing-2 << "[\r][\n]"
22:14:38.833 DEBUG - http-outgoing-2 << HTTP/1.1 200 OK
22:14:38.833 DEBUG - http-outgoing-2 << Content-Length: 692
22:14:38.833 DEBUG - http-outgoing-2 << Content-Type: application/json; charset=UTF-8
22:14:38.833 DEBUG - http-outgoing-2 << Cache-Control: no-cache
22:14:38.833 DEBUG - http-outgoing-2 << Vary: Accept-Charset, Accept-Encoding, Accept-Language, Accept
22:14:38.833 DEBUG - http-outgoing-2 << Accept-Ranges: bytes
22:14:38.833 DEBUG - http-outgoing-2 << Connection: close
22:14:38.833 DEBUG - http-outgoing-2: Close connection
22:14:38.833 DEBUG - Connection discarded
22:14:38.833 DEBUG - Connection released: [id: 2][route: {}->http://localhost:15388][total kept alive: 0; route allocated: 0 of 2000; total allocated: 0 of 2000]

22:14:38.848 INFO - Detected dialect: W3C

22:14:38.864 DEBUG - Executing: newSession [null, newSession {desiredCapabilities=Capabilities {acceptInsecureCerts: false, browserName: internet explorer, browserVersion: 11, pageLoadStrategy: normal, platformName: windows, proxy: Proxy(), se:ieOptions: {browserAttachTimeout: 0, elementScrollBehavior: 0, enablePersistentHover: true, ie.browserCommandLineSwitches: , ie.ensureCleanSession: false, ie.fileUploadDialogTimeout: 3000, ie.forceCreateProcessApi: false, ignoreProtectedModeSettings: false, ignoreZoomSetting: false, initialBrowserUrl: http://localhost:15388/, nativeEvents: true, requireWindowFocus: false}, setWindowRect: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}}}]

22:14:38.864 DEBUG - Executed: [null, newSession {desiredCapabilities=Capabilities {acceptInsecureCerts: false, browserName: internet explorer, browserVersion: 11, pageLoadStrategy: normal, platformName: windows, proxy: Proxy(), se:ieOptions: {browserAttachTimeout: 0, elementScrollBehavior: 0, enablePersistentHover: true, ie.browserCommandLineSwitches: , ie.ensureCleanSession: false, ie.fileUploadDialogTimeout: 3000, ie.forceCreateProcessApi: false, ignoreProtectedModeSettings: false, ignoreZoomSetting: false, initialBrowserUrl: http://localhost:15388/, nativeEvents: true, requireWindowFocus: false}, setWindowRect: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}}}]

22:14:40.676 DEBUG - CookieSpec selected: default

22:14:40.676 DEBUG - Auth cache not set in the context
Run Code Online (Sandbox Code Playgroud)

Deb*_*anB 3

Selenium Grid Hub我可以清楚地看到您的配置和注册存在一些不匹配,Selenium Grid Node如下Selenium Grid Hub所示:

此外,当您启动要使用的节点IEDriverServer并且Internet Explorer使用默认命令时:

java -jar 3.8.1-server.jar -role node -hub http://192.168.1.4:4444/grid/register
Run Code Online (Sandbox Code Playgroud)

INFO - Detected dialect: W3C这就是您在失败用例中看不到的确切原因,如下所示:

Started InternetExplorerDriver server (64-bit)
3.8.0.0
Listening on port 15388
Only local connections are allowed

22:14:37.269 DEBUG - Polling http://localhost:15388/status

22:14:37.269 DEBUG - sun.net.www.MessageHeader@14906bf5 pairs: {GET /status HTTP/1.1: null}{User-Agent: Java/1.8.0_161}{Host: localhost:15388}{Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2}{Connection: keep-alive}

22:14:37.269 DEBUG - sun.net.www.MessageHeader@4b81f27 pairs: {null: HTTP/1.1 200 OK}{Content-Length: 185}{Content-Type: application/json; charset=UTF-8}{Cache-Control: no-cache}{Vary: Accept-Charset, Accept-Encoding, Accept-Language, Accept}{Accept-Ranges: bytes}{Connection: close}

22:14:37.283 DEBUG - CookieSpec selected: default

22:14:37.283 DEBUG - Auth cache not set in the context
Run Code Online (Sandbox Code Playgroud)

您需要提及WebDriver您打算使用的变体,如下所示:

java -Dwebdriver.ie.driver=IEDriverServer.exe -jar selenium-server-standalone-3.8.1.jar -role node -hub http://192.168.1.50:4444/grid/register
Run Code Online (Sandbox Code Playgroud)

所以你的日志消息将包含:

Started InternetExplorerDriver server (64-bit)
3.7.0.0
Listening on port 18597
Only local connections are allowed
20:31:59.237 INFO - Detected dialect: W3C
20:31:59.592 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@40024bf3
20:31:59.593 INFO - Handler thread for session b020db2b-f3db-43f6-a3db-7a21b8c440f7 (internet explorer): Executing POST on /session/b020db2b-f3db-43f6-a3db-7a21b8c440f7/url (handler: ServicedSession)
20:31:59.663 INFO - To upstream: {"url":"http://google.com/"}
Run Code Online (Sandbox Code Playgroud)

您可以在这里看到详细的讨论,其中Doug Simmons明确提到:

The server (grid node) needs to be started with the system property -- not the client i.e. you need to point the node to the geckodriver installation on the node


解决方案

按照上述步骤配置Selenium Grid HubSelenium Grid Node

  • 启动Selenium Grid Hub

    java -jar selenium-server-standalone-3.8.1.jar -role hub
    
    Run Code Online (Sandbox Code Playgroud)
  • 应生成以下日志:

    19:40:59.322 INFO - Selenium build info: version: '3.8.1', revision: '6e95a6684b'
    19:40:59.324 INFO - Launching Selenium Grid hub
    2018-01-23 19:41:01.710:INFO::main: Logging initialized @2960ms to org.seleniumhq.jetty9.util.log.StdErrLog
    19:41:01.764 INFO - Will listen on 4444
    2018-01-23 19:41:01.881:INFO:osjs.Server:main: jetty-9.4.7.v20170914
    2018-01-23 19:41:01.923:INFO:osjs.session:main: DefaultSessionIdManager workerName=node0
    2018-01-23 19:41:01.924:INFO:osjs.session:main: No SessionScavenger set, using defaults
    2018-01-23 19:41:01.928:INFO:osjs.session:main: Scavenging every 600000ms
    2018-01-23 19:41:01.937:INFO:osjsh.ContextHandler:main: Started o.s.j.s.ServletContextHandler@1b68b9a4{/,null,AVAILABLE}
    2018-01-23 19:41:01.959:INFO:osjs.AbstractConnector:main: Started ServerConnecto
    r@157632c9{HTTP/1.1,[http/1.1]}{0.0.0.0:4444}
    2018-01-23 19:41:01.960:INFO:osjs.Server:main: Started @3211ms
    19:41:01.960 INFO - Nodes should register to http://192.168.1.50:4444/grid/register/
    19:41:01.961 INFO - Selenium Grid hub is up and running
    
    Run Code Online (Sandbox Code Playgroud)
  • 观察Selenium Grid Hub URI是: http: //192.168.1.50:4444

  • Selenium Grid Hub Console通过以下方式打开URL

    http://192.168.1.50:4444/grid/console
    
    Run Code Online (Sandbox Code Playgroud)
  • 快照Selenium Grid Hub Config 1

Selenium_Grid_Hub_Config_1

  • 快照Selenium Grid Hub Config 2

Selenium 网格集线器配置 2

  • 开始:Selenium Grid NodeIE11

    java -Dwebdriver.ie.driver=IEDriverServer.exe -jar selenium-server-standalone-3.8.1.jar -role node -hub http://192.168.1.50:4444/grid/register
    
    Run Code Online (Sandbox Code Playgroud)
  • 确保已在http://192.168.1.50:4444/grid/registerSelenium Grid Node注册

  • CLI上应生成以下日志Selenium Grid Node

    19:46:22.516 INFO - Selenium build info: version: '3.8.1', revision: '6e95a6684b'
    19:46:22.517 INFO - Launching a Selenium Grid node
    2018-01-23 19:46:25.124:INFO::main: Logging initialized @4715ms to org.seleniumhq.jetty9.util.log.StdErrLog
    19:46:25.178 INFO - Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()`
    19:46:25.221 INFO - Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
    19:46:25.226 INFO - Using `new EdgeOptions()` is preferred to `DesiredCapabilities.edge()`
    19:46:25.227 INFO - Driver class not found: com.opera.core.systems.OperaDriver
    19:46:25.228 INFO - Using `new OperaOptions()` is preferred to `DesiredCapabilities.operaBlink()`
    19:46:25.230 INFO - Using `new SafariOptions()` is preferred to `DesiredCapabilities.safari()`
    19:46:25.232 INFO - Driver class not found: org.openqa.selenium.phantomjs.PhantomJSDriver
    19:46:25.306 INFO - Driver provider class org.openqa.selenium.safari.SafariDriver registration is skipped:
     registration capabilities Capabilities {browserName: safari, platform: MAC, version: } does not match the current platform WIN8
    19:46:25.371 INFO - Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
    19:46:25.373 INFO - Using `new EdgeOptions()` is preferred to `DesiredCapabilities.edge()`
    19:46:25.374 INFO - Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()`
    19:46:25.375 INFO - Using `new OperaOptions()` is preferred to `DesiredCapabilities.operaBlink()`
    19:46:25.376 INFO - Using `new SafariOptions()` is preferred to `DesiredCapabilities.safari()`
    19:46:25.391 INFO - Using the passthrough mode handler
    2018-01-23 19:46:25.429:INFO:osjs.Server:main: jetty-9.4.7.v20170914
    2018-01-23 19:46:25.472:WARN:osjs.SecurityHandler:main: ServletContext@o.s.j.s.S
    ervletContextHandler@38afe297{/,null,STARTING} has uncovered http methods for path: /
    2018-01-23 19:46:25.481:INFO:osjsh.ContextHandler:main: Started o.s.j.s.ServletContextHandler@38afe297{/,null,AVAILABLE}
    2018-01-23 19:46:25.503:INFO:osjs.AbstractConnector:main: Started ServerConnector@12bb9576{HTTP/1.1,[http/1.1]}{0.0.0.0:5555}
    2018-01-23 19:46:25.504:INFO:osjs.Server:main: Started @5097ms
    19:46:25.506 INFO - Selenium Grid node is up and ready to register to the hub
    19:46:25.555 INFO - Starting auto registration thread. Will try to register every 5000 ms.
    19:46:25.556 INFO - Registering the node to the hub: http://192.168.1.50:4444/grid/register
    19:46:25.802 INFO - The node is registered to the hub and ready to use
    
    Run Code Online (Sandbox Code Playgroud)
  • CLI上应生成以下日志Selenium Grid Hub

    20:59:54.695 INFO - Registered a node http://192.168.1.50:5555
    
    Run Code Online (Sandbox Code Playgroud)
  • 快照Selenium Grid Hub Console

Selenium Grid Hub 控制台

  • 编写一个基本程序并从以下位置执行Selenium Grid Node

    public class test_IE_Grid 
    {
    
        @Test
        public void test1() throws MalformedURLException
        {
            System.setProperty("webdriver.ie.driver", "C:\\Utility\\BrowserDrivers\\IEDriverServer.exe");
            DesiredCapabilities cap = DesiredCapabilities.internetExplorer();
            URL url = new URL("http://192.168.1.50:4444/wd/hub");
            WebDriver driver = new RemoteWebDriver(url, cap);
            driver.get("http://google.com/");
            System.out.println("Title is : "+driver.getTitle());
            driver.quit();
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 在 CLI 上观察以下日志Selenium Grid Node

    2018-01-23 20:31:49.931:INFO:osjshC.ROOT:qtp1582071873-15: org.openqa.selenium.remote.server.WebDriverServlet-34123d65: Initialising WebDriverServlet
    20:31:49.976 INFO - Found handler: org.openqa.selenium.remote.server.commandhandler.BeginSession@5769309d
    20:31:49.990 INFO - /session: Executing POST on /session (handler: BeginSession)
    
    20:31:50.085 INFO - Capabilities are: Capabilities {browserName: internet explorer, ensureCleanSession: true, platform: WINDOWS, version: }
    20:31:50.089 INFO - Capabilities {browserName: internet explorer, ensureCleanSession: true, platform: WINDOWS, version: } matched class org.openqa.selenium.remote.server.ServicedSession$Factory (provider: org.openqa.selenium.ie.InternetExplorerDriverService)
    Started InternetExplorerDriver server (64-bit)
    3.7.0.0
    Listening on port 18597
    Only local connections are allowed
    20:31:59.237 INFO - Detected dialect: W3C
    20:31:59.592 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@40024bf3
    20:31:59.593 INFO - Handler thread for session b020db2b-f3db-43f6-a3db-7a21b8c440f7 (internet explorer): Executing POST on /session/b020db2b-f3db-43f6-a3db-7a21b8c440f7/url (handler: ServicedSession)
    20:31:59.663 INFO - To upstream: {"url":"http://google.com/"}
    20:32:11.793 INFO - To downstream: {"value":null}
    
    
    20:32:11.821 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@40024bf3
    20:32:11.823 INFO - Handler thread for session b020db2b-f3db-43f6-a3db-7a21b8c440f7 (internet explorer): Executing GET on /session/b020db2b-f3db-43f6-a3db-7a21b8c440f7/title (handler: ServicedSession)
    20:32:11.844 INFO - To downstream: {"value":"Google"}
    
    
    20:32:11.856 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@40024bf3
    20:32:11.857 INFO - Handler thread for session b020db2b-f3db-43f6-a3db-7a21b8c440f7 (internet explorer): Executing DELETE on /session/b020db2b-f3db-43f6-a3db-7a21b8c440f7 (handler: ServicedSession)
    20:32:11.870 INFO - To downstream: {"value":null}
    
    
    20:32:11.883 INFO - Removing session org.openqa.selenium.remote.server.ServicedSession@40024bf3
    20:32:11.890 INFO - To downstream: { "value" : null }
    
    Run Code Online (Sandbox Code Playgroud)
  • 在 CLI 上观察以下日志Selenium Grid Hub

    20:31:49.855 INFO - Got a request to create a new session: Capabilities {browserName: internet explorer, ensureCleanSession: true, platform: WINDOWS, version: }
    
    20:31:49.866 INFO - Trying to create a new session on test slot {seleniumProtocol=WebDriver, se:CONFIG_UUID=dd5107be-46cc-4411-816e-e51177b854c6, browserName=internet explorer, maxInstances=1, platform=WINDOWS}
    
    Run Code Online (Sandbox Code Playgroud)
  • IDE 控制台输出:

    Jan 23, 2018 9:18:34 PM org.openqa.selenium.remote.ProtocolHandshake createSession
    INFO: Detected dialect: W3C
    Title is : Google
    PASSED: test1
    
    ===============================================
        Default test
        Tests run: 1, Failures: 0, Skips: 0
    ===============================================
    
    
    ===============================================
    Default suite
    Total tests run: 1, Failures: 0, Skips: 0
    ===============================================
    
    Run Code Online (Sandbox Code Playgroud)