问题
I use nodejs selenium-standalone and I have:
1) selenium-standalone running on Mac with role=hub
2) selenium-standalone running on Mac with role=node (to run tests on local Mac browsers)
3) Windows 10 installed on parallels desktop with selenium-standalone running with role=node
4) IE11 is configured regarding this article https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#required-configuration
I have gridUrl config in my test (yandex gemini) and when I set it to windows node url (http://10.211.55.4:5555/wd/hub) IE11 test works fine. But when I set gridUrl to correct value (means local grid hub 127.0.0.1:4444/wd/hub) then IE11 opens stuck at "This is the initial start page for the WebDriver server." and "Only local connections are allowed" in the console. All other windows browsers in this case work fine (chrome, firefox, edge). No any errors in mac selenium grid hub console or in windows selenium node console - seems like grid hub somehow incorrectly trying to call windows node IEDriver.
Command to start selenium:
1) MacOS hub:
java -jar 3.8.1-server.jar -role hub
2) Windows10 node:
java -jar 3.8.1-server.jar -role node -hub http://192.168.1.4:4444/grid/register
After this, I can see all nodes and browsers on MacOS http://127.0.0.1:4444/grid/console.
I use selenium 3.8.1, IEdriver x64 3.8.0
MacOS hub terminal screenshot:
Windows node cmd screenshot:
MacOS grid hub console screenshot with config:
MacOS grid hub console screenshot:
DEBUG mode output of hub and node:
Windows node console output on success (direct connection without using grid hub):
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
Windows node console output on fail (connection via 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
回答1:
I can clearly see there is some mismatch in your Selenium Grid Hub
configuration and the Selenium Grid Node
registering to the Selenium Grid Hub
as follows :
Selenium Grid Hub
log says :Nodes should register to http://10.37.129.2:4444/grid/register/
Selenium Grid Node
log says :Registering the node to the hub: http://192.168.1.4:4444/grid/register
Additionally, when you are starting the node to work with IEDriverServer
and Internet Explorer
but you have used the default command as :
java -jar 3.8.1-server.jar -role node -hub http://192.168.1.4:4444/grid/register
which is the exact reason you don't see INFO - Detected dialect: W3C
in the FAILED usecase as follows :
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
Where as you need to mention the WebDriver
variant which you intend to use as follows :
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
So your log messages will contain :
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/"}
You can see the detailed discussion here where Doug Simmons clearly mentions :
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
Solution
Follow the mentioned steps to configure the Selenium Grid Hub
and Selenium Grid Node
:
Start the
Selenium Grid Hub
:java -jar selenium-server-standalone-3.8.1.jar -role hub
The following logs should be produced :
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
Observe the
Selenium Grid Hub URI
is : http://192.168.1.50:4444Open the
Selenium Grid Hub Console
through theURL
:http://192.168.1.50:4444/grid/console
Snapshot of the
Selenium Grid Hub Config 1
:
- Snapshot of the
Selenium Grid Hub Config 2
:
Start the
Selenium Grid Node
forIE11
: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
Ensure that
Selenium Grid Node
is registered at http://192.168.1.50:4444/grid/registerThe following logs should be produced on the
Selenium Grid Node
CLI :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
The following logs should be produced on the
Selenium Grid Hub
CLI :20:59:54.695 INFO - Registered a node http://192.168.1.50:5555
Snapshot of the
Selenium Grid Hub Console
:
Write a basic program and execute from the
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(); } }
Observe the following logs on
Selenium Grid Node
CLI :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 }
Observe the following logs on
Selenium Grid Hub
CLI :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}
IDE Console Output :
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 ===============================================
来源:https://stackoverflow.com/questions/48366040/ie11-test-runs-if-specified-direct-node-ip-but-fails-when-grid-hub-url-specified