java-client: appium unable to create new session on selenium grid

The problem

Appium can’t create remote session when run via selenium-grid

When I try create WebDriver exception invoked

org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: Unable to parse remote response

Caused by: org.openqa.grid.common.exception.GridException: Cannot extract a capabilities from the request

Caused by: java.lang.IllegalArgumentException: Illegal key values seen in w3c capabilities: [platform, version]

Environment

  • Appium version: 1.11.0
  • Appium java-client version: 7.0.0
  • Selenium java-client version: 3.141.59
  • Selenium-grid version: 3.141.59
  • Desktop OS/version: MAC 10.13.6
  • Mobile platform/version under test: iOS 11.2

Details

Dependencies:

<dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
</dependency>

<dependency>
            <groupId>io.appium</groupId>
            <artifactId>java-client</artifactId>
            <version>7.0.0</version>
</dependency>

WebDriver init:

DesiredCapabilities capabilities = DesiredCapabilities.iphone();
            capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION,"11.2");
            capabilities.setCapability(MobileCapabilityType.DEVICE_NAME,"iPhone Simulator");
            capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS");
            capabilities.setCapability(MobileCapabilityType.BROWSER_NAME,"");
            capabilities.setCapability(MobileCapabilityType.APPIUM_VERSION,"");
            capabilities.setCapability(MobileCapabilityType.APP, "XXXXX");
            capabilities.setCapability("automationName","XCUITest");
            IOSDriver<IOSElement> driver = new IOSDriver<IOSElement>(new URL("http://127.0.0.1:4444/wd/hub"), capabilities);

SeleniumGrid node.json

{
  "capabilities":
      [
        {
          "browserName": "IOS",
          "deviceName":"iPhone Simulator",
          "version":"11.2",
          "maxInstances": 1,
          "platform":"iOS"
        }
      ],
  "configuration":
  {
    "cleanUpCycle":2000,
    "timeout":30000,
    "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
    "url":"http://127.0.0.1:15001/wd/hub",
    "host": "127.0.0.1",
    "port": 15001,
    "maxSession": 1,
    "register": true,
    "registerCycle": 5000,
    "hubPort": 4444,
    "hubHost": "127.0.0.1"
  }
}

Exception when WebDriver init

org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: Unable to parse remote response: <html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 500 Server Error</title>
</head>
<body><h2>HTTP ERROR 500</h2>
<p>Problem accessing /wd/hub/session. Reason:
<pre>    Server Error</pre></p><h3>Caused by:</h3><pre>java.io.IOException: org.openqa.grid.common.exception.GridException: Cannot extract a capabilities from the request: {
  &quot;desiredCapabilities&quot;: {
    &quot;app&quot;: &quot;XXXXXXX&quot;,
    &quot;clearSystemFiles&quot;: true,
    &quot;noReset&quot;: &quot;true&quot;,
    &quot;appiumVersion&quot;: &quot;&quot;,
    &quot;deviceName&quot;: &quot;iPhone Simulator&quot;,
    &quot;fullReset&quot;: &quot;false&quot;,
    &quot;version&quot;: &quot;&quot;,
    &quot;platform&quot;: &quot;MAC&quot;,
    &quot;sendKeyStrategy&quot;: &quot;oneByOne&quot;,
    &quot;newCommandTimeout&quot;: &quot;360&quot;,
    &quot;platformVersion&quot;: &quot;11.2&quot;,
    &quot;automationName&quot;: &quot;XCUITest&quot;,
    &quot;browserName&quot;: &quot;&quot;,
    &quot;platformName&quot;: &quot;iOS&quot;,
    &quot;autoAcceptAlerts&quot;: false
  },
  &quot;capabilities&quot;: {
    &quot;firstMatch&quot;: [
      {
        &quot;appium:app&quot;: &quot;XXXXXXX&quot;,
        &quot;appium:appiumVersion&quot;: &quot;&quot;,
        &quot;appium:autoAcceptAlerts&quot;: false,
        &quot;appium:automationName&quot;: &quot;XCUITest&quot;,
        &quot;browserName&quot;: &quot;&quot;,
        &quot;appium:clearSystemFiles&quot;: true,
        &quot;appium:deviceName&quot;: &quot;iPhone Simulator&quot;,
        &quot;appium:fullReset&quot;: &quot;false&quot;,
        &quot;appium:newCommandTimeout&quot;: &quot;360&quot;,
        &quot;appium:noReset&quot;: &quot;true&quot;,
        &quot;platform&quot;: &quot;MAC&quot;,
        &quot;platformName&quot;: &quot;ios&quot;,
        &quot;appium:platformVersion&quot;: &quot;11.2&quot;,
        &quot;appium:sendKeyStrategy&quot;: &quot;oneByOne&quot;,
        &quot;version&quot;: &quot;&quot;
      }
    ]
  }
}
	at org.openqa.grid.web.servlet.DriverServlet.process(DriverServlet.java:138)
	at org.openqa.grid.web.servlet.DriverServlet.doPost(DriverServlet.java:69)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.seleniumhq.jetty9.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.seleniumhq.jetty9.servlet.ServletHandler.doHandle(ServletHandler.java:535)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.seleniumhq.jetty9.security.SecurityHandler.handle(SecurityHandler.java:548)
	at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.seleniumhq.jetty9.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.seleniumhq.jetty9.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.seleniumhq.jetty9.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.seleniumhq.jetty9.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.seleniumhq.jetty9.server.Server.handle(Server.java:503)
	at org.seleniumhq.jetty9.server.HttpChannel.handle(HttpChannel.java:364)
	at org.seleniumhq.jetty9.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.seleniumhq.jetty9.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.seleniumhq.jetty9.io.FillInterest.fillable(FillInterest.java:103)
	at org.seleniumhq.jetty9.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.seleniumhq.jetty9.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.seleniumhq.jetty9.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.openqa.grid.common.exception.GridException: Cannot extract a capabilities from the request: {
  &quot;desiredCapabilities&quot;: {
    &quot;app&quot;: &quot;XXXXXXX&quot;,
    &quot;clearSystemFiles&quot;: true,
    &quot;noReset&quot;: &quot;true&quot;,
    &quot;appiumVersion&quot;: &quot;&quot;,
    &quot;deviceName&quot;: &quot;iPhone Simulator&quot;,
    &quot;fullReset&quot;: &quot;false&quot;,
    &quot;version&quot;: &quot;&quot;,
    &quot;platform&quot;: &quot;MAC&quot;,
    &quot;sendKeyStrategy&quot;: &quot;oneByOne&quot;,
    &quot;newCommandTimeout&quot;: &quot;360&quot;,
    &quot;platformVersion&quot;: &quot;11.2&quot;,
    &quot;automationName&quot;: &quot;XCUITest&quot;,
    &quot;browserName&quot;: &quot;&quot;,
    &quot;platformName&quot;: &quot;iOS&quot;,
    &quot;autoAcceptAlerts&quot;: false
  },
  &quot;capabilities&quot;: {
    &quot;firstMatch&quot;: [
      {
        &quot;appium:app&quot;: &quot;XXXXXXX&quot;,
        &quot;appium:appiumVersion&quot;: &quot;&quot;,
        &quot;appium:autoAcceptAlerts&quot;: false,
        &quot;appium:automationName&quot;: &quot;XCUITest&quot;,
        &quot;browserName&quot;: &quot;&quot;,
        &quot;appium:clearSystemFiles&quot;: true,
        &quot;appium:deviceName&quot;: &quot;iPhone Simulator&quot;,
        &quot;appium:fullReset&quot;: &quot;false&quot;,
        &quot;appium:newCommandTimeout&quot;: &quot;360&quot;,
        &quot;appium:noReset&quot;: &quot;true&quot;,
        &quot;platform&quot;: &quot;MAC&quot;,
        &quot;platformName&quot;: &quot;ios&quot;,
        &quot;appium:platformVersion&quot;: &quot;11.2&quot;,
        &quot;appium:sendKeyStrategy&quot;: &quot;oneByOne&quot;,
        &quot;version&quot;: &quot;&quot;
      }
    ]
  }
}
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.extractDesiredCapability(WebDriverRequest.java:74)
	at org.openqa.grid.web.servlet.handler.SeleniumBasedRequest.&lt;init&gt;(SeleniumBasedRequest.java:102)
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.&lt;init&gt;(WebDriverRequest.java:36)
	at org.openqa.grid.web.servlet.handler.WebDriverRequestFactory.createFromRequest(WebDriverRequestFactory.java:30)
	at org.openqa.grid.web.servlet.handler.SeleniumBasedRequest.createFromRequest(SeleniumBasedRequest.java:73)
	at org.openqa.grid.web.servlet.DriverServlet.process(DriverServlet.java:83)
	... 33 more
Caused by: java.lang.IllegalArgumentException: Illegal key values seen in w3c capabilities: [platform, version]
	at org.openqa.selenium.remote.NewSessionPayload.lambda$validate$5(NewSessionPayload.java:205)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:372)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.openqa.selenium.remote.NewSessionPayload.validate(NewSessionPayload.java:209)
	at org.openqa.selenium.remote.NewSessionPayload.&lt;init&gt;(NewSessionPayload.java:154)
	at org.openqa.selenium.remote.NewSessionPayload.create(NewSessionPayload.java:105)
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.extractDesiredCapability(WebDriverRequest.java:66)
	... 38 more
</pre>
<h3>Caused by:</h3><pre>org.openqa.grid.common.exception.GridException: Cannot extract a capabilities from the request: {
  &quot;desiredCapabilities&quot;: {
    &quot;app&quot;: &quot;XXXXXXX&quot;,
    &quot;clearSystemFiles&quot;: true,
    &quot;noReset&quot;: &quot;true&quot;,
    &quot;appiumVersion&quot;: &quot;&quot;,
    &quot;deviceName&quot;: &quot;iPhone Simulator&quot;,
    &quot;fullReset&quot;: &quot;false&quot;,
    &quot;version&quot;: &quot;&quot;,
    &quot;platform&quot;: &quot;MAC&quot;,
    &quot;sendKeyStrategy&quot;: &quot;oneByOne&quot;,
    &quot;newCommandTimeout&quot;: &quot;360&quot;,
    &quot;platformVersion&quot;: &quot;11.2&quot;,
    &quot;automationName&quot;: &quot;XCUITest&quot;,
    &quot;browserName&quot;: &quot;&quot;,
    &quot;platformName&quot;: &quot;iOS&quot;,
    &quot;autoAcceptAlerts&quot;: false
  },
  &quot;capabilities&quot;: {
    &quot;firstMatch&quot;: [
      {
        &quot;appium:app&quot;: &quot;XXXXXXX&quot;,
        &quot;appium:appiumVersion&quot;: &quot;&quot;,
        &quot;appium:autoAcceptAlerts&quot;: false,
        &quot;appium:automationName&quot;: &quot;XCUITest&quot;,
        &quot;browserName&quot;: &quot;&quot;,
        &quot;appium:clearSystemFiles&quot;: true,
        &quot;appium:deviceName&quot;: &quot;iPhone Simulator&quot;,
        &quot;appium:fullReset&quot;: &quot;false&quot;,
        &quot;appium:newCommandTimeout&quot;: &quot;360&quot;,
        &quot;appium:noReset&quot;: &quot;true&quot;,
        &quot;platform&quot;: &quot;MAC&quot;,
        &quot;platformName&quot;: &quot;ios&quot;,
        &quot;appium:platformVersion&quot;: &quot;11.2&quot;,
        &quot;appium:sendKeyStrategy&quot;: &quot;oneByOne&quot;,
        &quot;version&quot;: &quot;&quot;
      }
    ]
  }
}
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.extractDesiredCapability(WebDriverRequest.java:74)
	at org.openqa.grid.web.servlet.handler.SeleniumBasedRequest.&lt;init&gt;(SeleniumBasedRequest.java:102)
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.&lt;init&gt;(WebDriverRequest.java:36)
	at org.openqa.grid.web.servlet.handler.WebDriverRequestFactory.createFromRequest(WebDriverRequestFactory.java:30)
	at org.openqa.grid.web.servlet.handler.SeleniumBasedRequest.createFromRequest(SeleniumBasedRequest.java:73)
	at org.openqa.grid.web.servlet.DriverServlet.process(DriverServlet.java:83)
	at org.openqa.grid.web.servlet.DriverServlet.doPost(DriverServlet.java:69)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.seleniumhq.jetty9.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.seleniumhq.jetty9.servlet.ServletHandler.doHandle(ServletHandler.java:535)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.seleniumhq.jetty9.security.SecurityHandler.handle(SecurityHandler.java:548)
	at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.seleniumhq.jetty9.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.seleniumhq.jetty9.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.seleniumhq.jetty9.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.seleniumhq.jetty9.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.seleniumhq.jetty9.server.Server.handle(Server.java:503)
	at org.seleniumhq.jetty9.server.HttpChannel.handle(HttpChannel.java:364)
	at org.seleniumhq.jetty9.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.seleniumhq.jetty9.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.seleniumhq.jetty9.io.FillInterest.fillable(FillInterest.java:103)
	at org.seleniumhq.jetty9.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.seleniumhq.jetty9.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.seleniumhq.jetty9.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: Illegal key values seen in w3c capabilities: [platform, version]
	at org.openqa.selenium.remote.NewSessionPayload.lambda$validate$5(NewSessionPayload.java:205)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:372)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.openqa.selenium.remote.NewSessionPayload.validate(NewSessionPayload.java:209)
	at org.openqa.selenium.remote.NewSessionPayload.&lt;init&gt;(NewSessionPayload.java:154)
	at org.openqa.selenium.remote.NewSessionPayload.create(NewSessionPayload.java:105)
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.extractDesiredCapability(WebDriverRequest.java:66)
	... 38 more
</pre>
<h3>Caused by:</h3><pre>java.lang.IllegalArgumentException: Illegal key values seen in w3c capabilities: [platform, version]
	at org.openqa.selenium.remote.NewSessionPayload.lambda$validate$5(NewSessionPayload.java:205)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:372)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.openqa.selenium.remote.NewSessionPayload.validate(NewSessionPayload.java:209)
	at org.openqa.selenium.remote.NewSessionPayload.&lt;init&gt;(NewSessionPayload.java:154)
	at org.openqa.selenium.remote.NewSessionPayload.create(NewSessionPayload.java:105)
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.extractDesiredCapability(WebDriverRequest.java:66)
	at org.openqa.grid.web.servlet.handler.SeleniumBasedRequest.&lt;init&gt;(SeleniumBasedRequest.java:102)
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.&lt;init&gt;(WebDriverRequest.java:36)
	at org.openqa.grid.web.servlet.handler.WebDriverRequestFactory.createFromRequest(WebDriverRequestFactory.java:30)
	at org.openqa.grid.web.servlet.handler.SeleniumBasedRequest.createFromRequest(SeleniumBasedRequest.java:73)
	at org.openqa.grid.web.servlet.DriverServlet.process(DriverServlet.java:83)
	at org.openqa.grid.web.servlet.DriverServlet.doPost(DriverServlet.java:69)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.seleniumhq.jetty9.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.seleniumhq.jetty9.servlet.ServletHandler.doHandle(ServletHandler.java:535)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.seleniumhq.jetty9.security.SecurityHandler.handle(SecurityHandler.java:548)
	at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.seleniumhq.jetty9.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.seleniumhq.jetty9.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.seleniumhq.jetty9.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.seleniumhq.jetty9.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.seleniumhq.jetty9.server.Server.handle(Server.java:503)
	at org.seleniumhq.jetty9.server.HttpChannel.handle(HttpChannel.java:364)
	at org.seleniumhq.jetty9.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.seleniumhq.jetty9.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.seleniumhq.jetty9.io.FillInterest.fillable(FillInterest.java:103)
	at org.seleniumhq.jetty9.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.seleniumhq.jetty9.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.seleniumhq.jetty9.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.lang.Thread.run(Thread.java:748)
</pre>
<hr><a href="http://eclipse.org/jetty">Powered by Jetty:// 9.4.z-SNAPSHOT</a><hr/>

</body>
</html>

Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'M-H0139.local', ip: 'fe80:0:0:0:18b2:af60:b11d:e7a9%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.6', java.version: '1.8.0_202'
Driver info: driver.version: IOSDriver

	at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:208)
	at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:217)
	at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:239)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
	at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42)
	at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
	at io.appium.java_client.ios.IOSDriver.execute(IOSDriver.java:1)
	at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)
	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
	at io.appium.java_client.DefaultGenericMobileDriver.<init>(DefaultGenericMobileDriver.java:38)
	at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:84)
	at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:94)
	at io.appium.java_client.ios.IOSDriver.<init>(IOSDriver.java:95)
	at autotest.core.util.appium.IOSDevice.InitFromFile(IOSDevice.java:338)
	at autotest.core.util.appium.IOSDevice.<init>(IOSDevice.java:78)
	at autotest.core.util.appium.IOSDeviceHolder.getDevice(IOSDeviceHolder.java:13)
	at autotest.core.util.appium.IOSBasicScreen.<init>(IOSBasicScreen.java:29)
	at test.IosDeviceTestSuite.test_method_1_aroundBody0(IosDeviceTestSuite.java:13)
	at test.IosDeviceTestSuite.test_method_1_aroundBody1$advice(IosDeviceTestSuite.java:63)
	at test.IosDeviceTestSuite.test_method_1(IosDeviceTestSuite.java:1)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:645)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
	at org.testng.TestRunner.privateRun(TestRunner.java:756)
	at org.testng.TestRunner.run(TestRunner.java:610)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:387)
	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382)
	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
	at org.testng.SuiteRunner.run(SuiteRunner.java:289)
	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1293)
	at org.testng.TestNG.runSuitesLocally(TestNG.java:1218)
	at org.testng.TestNG.runSuites(TestNG.java:1133)
	at org.testng.TestNG.run(TestNG.java:1104)
	at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:73)
	at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:186)
	... 43 more
Caused by: org.openqa.selenium.WebDriverException: Unable to parse remote response: <html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 500 Server Error</title>
</head>
<body><h2>HTTP ERROR 500</h2>
<p>Problem accessing /wd/hub/session. Reason:
<pre>    Server Error</pre></p><h3>Caused by:</h3><pre>java.io.IOException: org.openqa.grid.common.exception.GridException: Cannot extract a capabilities from the request: {
  &quot;desiredCapabilities&quot;: {
    &quot;app&quot;: &quot;XXXXXXX&quot;,
    &quot;clearSystemFiles&quot;: true,
    &quot;noReset&quot;: &quot;true&quot;,
    &quot;appiumVersion&quot;: &quot;&quot;,
    &quot;deviceName&quot;: &quot;iPhone Simulator&quot;,
    &quot;fullReset&quot;: &quot;false&quot;,
    &quot;version&quot;: &quot;&quot;,
    &quot;platform&quot;: &quot;MAC&quot;,
    &quot;sendKeyStrategy&quot;: &quot;oneByOne&quot;,
    &quot;newCommandTimeout&quot;: &quot;360&quot;,
    &quot;platformVersion&quot;: &quot;11.2&quot;,
    &quot;automationName&quot;: &quot;XCUITest&quot;,
    &quot;browserName&quot;: &quot;&quot;,
    &quot;platformName&quot;: &quot;iOS&quot;,
    &quot;autoAcceptAlerts&quot;: false
  },
  &quot;capabilities&quot;: {
    &quot;firstMatch&quot;: [
      {
        &quot;appium:app&quot;: &quot;XXXXXXX&quot;,
        &quot;appium:appiumVersion&quot;: &quot;&quot;,
        &quot;appium:autoAcceptAlerts&quot;: false,
        &quot;appium:automationName&quot;: &quot;XCUITest&quot;,
        &quot;browserName&quot;: &quot;&quot;,
        &quot;appium:clearSystemFiles&quot;: true,
        &quot;appium:deviceName&quot;: &quot;iPhone Simulator&quot;,
        &quot;appium:fullReset&quot;: &quot;false&quot;,
        &quot;appium:newCommandTimeout&quot;: &quot;360&quot;,
        &quot;appium:noReset&quot;: &quot;true&quot;,
        &quot;platform&quot;: &quot;MAC&quot;,
        &quot;platformName&quot;: &quot;ios&quot;,
        &quot;appium:platformVersion&quot;: &quot;11.2&quot;,
        &quot;appium:sendKeyStrategy&quot;: &quot;oneByOne&quot;,
        &quot;version&quot;: &quot;&quot;
      }
    ]
  }
}
	at org.openqa.grid.web.servlet.DriverServlet.process(DriverServlet.java:138)
	at org.openqa.grid.web.servlet.DriverServlet.doPost(DriverServlet.java:69)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.seleniumhq.jetty9.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.seleniumhq.jetty9.servlet.ServletHandler.doHandle(ServletHandler.java:535)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.seleniumhq.jetty9.security.SecurityHandler.handle(SecurityHandler.java:548)
	at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.seleniumhq.jetty9.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.seleniumhq.jetty9.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.seleniumhq.jetty9.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.seleniumhq.jetty9.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.seleniumhq.jetty9.server.Server.handle(Server.java:503)
	at org.seleniumhq.jetty9.server.HttpChannel.handle(HttpChannel.java:364)
	at org.seleniumhq.jetty9.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.seleniumhq.jetty9.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.seleniumhq.jetty9.io.FillInterest.fillable(FillInterest.java:103)
	at org.seleniumhq.jetty9.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.seleniumhq.jetty9.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.seleniumhq.jetty9.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.openqa.grid.common.exception.GridException: Cannot extract a capabilities from the request: {
  &quot;desiredCapabilities&quot;: {
    &quot;app&quot;: &quot;XXXXXXX&quot;,
    &quot;clearSystemFiles&quot;: true,
    &quot;noReset&quot;: &quot;true&quot;,
    &quot;appiumVersion&quot;: &quot;&quot;,
    &quot;deviceName&quot;: &quot;iPhone Simulator&quot;,
    &quot;fullReset&quot;: &quot;false&quot;,
    &quot;version&quot;: &quot;&quot;,
    &quot;platform&quot;: &quot;MAC&quot;,
    &quot;sendKeyStrategy&quot;: &quot;oneByOne&quot;,
    &quot;newCommandTimeout&quot;: &quot;360&quot;,
    &quot;platformVersion&quot;: &quot;11.2&quot;,
    &quot;automationName&quot;: &quot;XCUITest&quot;,
    &quot;browserName&quot;: &quot;&quot;,
    &quot;platformName&quot;: &quot;iOS&quot;,
    &quot;autoAcceptAlerts&quot;: false
  },
  &quot;capabilities&quot;: {
    &quot;firstMatch&quot;: [
      {
        &quot;appium:app&quot;: &quot;XXXXXXX&quot;,
        &quot;appium:appiumVersion&quot;: &quot;&quot;,
        &quot;appium:autoAcceptAlerts&quot;: false,
        &quot;appium:automationName&quot;: &quot;XCUITest&quot;,
        &quot;browserName&quot;: &quot;&quot;,
        &quot;appium:clearSystemFiles&quot;: true,
        &quot;appium:deviceName&quot;: &quot;iPhone Simulator&quot;,
        &quot;appium:fullReset&quot;: &quot;false&quot;,
        &quot;appium:newCommandTimeout&quot;: &quot;360&quot;,
        &quot;appium:noReset&quot;: &quot;true&quot;,
        &quot;platform&quot;: &quot;MAC&quot;,
        &quot;platformName&quot;: &quot;ios&quot;,
        &quot;appium:platformVersion&quot;: &quot;11.2&quot;,
        &quot;appium:sendKeyStrategy&quot;: &quot;oneByOne&quot;,
        &quot;version&quot;: &quot;&quot;
      }
    ]
  }
}
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.extractDesiredCapability(WebDriverRequest.java:74)
	at org.openqa.grid.web.servlet.handler.SeleniumBasedRequest.&lt;init&gt;(SeleniumBasedRequest.java:102)
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.&lt;init&gt;(WebDriverRequest.java:36)
	at org.openqa.grid.web.servlet.handler.WebDriverRequestFactory.createFromRequest(WebDriverRequestFactory.java:30)
	at org.openqa.grid.web.servlet.handler.SeleniumBasedRequest.createFromRequest(SeleniumBasedRequest.java:73)
	at org.openqa.grid.web.servlet.DriverServlet.process(DriverServlet.java:83)
	... 33 more
Caused by: java.lang.IllegalArgumentException: Illegal key values seen in w3c capabilities: [platform, version]
	at org.openqa.selenium.remote.NewSessionPayload.lambda$validate$5(NewSessionPayload.java:205)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:372)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.openqa.selenium.remote.NewSessionPayload.validate(NewSessionPayload.java:209)
	at org.openqa.selenium.remote.NewSessionPayload.&lt;init&gt;(NewSessionPayload.java:154)
	at org.openqa.selenium.remote.NewSessionPayload.create(NewSessionPayload.java:105)
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.extractDesiredCapability(WebDriverRequest.java:66)
	... 38 more
</pre>
<h3>Caused by:</h3><pre>org.openqa.grid.common.exception.GridException: Cannot extract a capabilities from the request: {
  &quot;desiredCapabilities&quot;: {
    &quot;app&quot;: &quot;XXXXXXX&quot;,
    &quot;clearSystemFiles&quot;: true,
    &quot;noReset&quot;: &quot;true&quot;,
    &quot;appiumVersion&quot;: &quot;&quot;,
    &quot;deviceName&quot;: &quot;iPhone Simulator&quot;,
    &quot;fullReset&quot;: &quot;false&quot;,
    &quot;version&quot;: &quot;&quot;,
    &quot;platform&quot;: &quot;MAC&quot;,
    &quot;sendKeyStrategy&quot;: &quot;oneByOne&quot;,
    &quot;newCommandTimeout&quot;: &quot;360&quot;,
    &quot;platformVersion&quot;: &quot;11.2&quot;,
    &quot;automationName&quot;: &quot;XCUITest&quot;,
    &quot;browserName&quot;: &quot;&quot;,
    &quot;platformName&quot;: &quot;iOS&quot;,
    &quot;autoAcceptAlerts&quot;: false
  },
  &quot;capabilities&quot;: {
    &quot;firstMatch&quot;: [
      {
        &quot;appium:app&quot;: &quot;XXXXXXX&quot;,
        &quot;appium:appiumVersion&quot;: &quot;&quot;,
        &quot;appium:autoAcceptAlerts&quot;: false,
        &quot;appium:automationName&quot;: &quot;XCUITest&quot;,
        &quot;browserName&quot;: &quot;&quot;,
        &quot;appium:clearSystemFiles&quot;: true,
        &quot;appium:deviceName&quot;: &quot;iPhone Simulator&quot;,
        &quot;appium:fullReset&quot;: &quot;false&quot;,
        &quot;appium:newCommandTimeout&quot;: &quot;360&quot;,
        &quot;appium:noReset&quot;: &quot;true&quot;,
        &quot;platform&quot;: &quot;MAC&quot;,
        &quot;platformName&quot;: &quot;ios&quot;,
        &quot;appium:platformVersion&quot;: &quot;11.2&quot;,
        &quot;appium:sendKeyStrategy&quot;: &quot;oneByOne&quot;,
        &quot;version&quot;: &quot;&quot;
      }
    ]
  }
}
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.extractDesiredCapability(WebDriverRequest.java:74)
	at org.openqa.grid.web.servlet.handler.SeleniumBasedRequest.&lt;init&gt;(SeleniumBasedRequest.java:102)
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.&lt;init&gt;(WebDriverRequest.java:36)
	at org.openqa.grid.web.servlet.handler.WebDriverRequestFactory.createFromRequest(WebDriverRequestFactory.java:30)
	at org.openqa.grid.web.servlet.handler.SeleniumBasedRequest.createFromRequest(SeleniumBasedRequest.java:73)
	at org.openqa.grid.web.servlet.DriverServlet.process(DriverServlet.java:83)
	at org.openqa.grid.web.servlet.DriverServlet.doPost(DriverServlet.java:69)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.seleniumhq.jetty9.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.seleniumhq.jetty9.servlet.ServletHandler.doHandle(ServletHandler.java:535)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.seleniumhq.jetty9.security.SecurityHandler.handle(SecurityHandler.java:548)
	at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.seleniumhq.jetty9.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.seleniumhq.jetty9.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.seleniumhq.jetty9.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.seleniumhq.jetty9.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.seleniumhq.jetty9.server.Server.handle(Server.java:503)
	at org.seleniumhq.jetty9.server.HttpChannel.handle(HttpChannel.java:364)
	at org.seleniumhq.jetty9.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.seleniumhq.jetty9.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.seleniumhq.jetty9.io.FillInterest.fillable(FillInterest.java:103)
	at org.seleniumhq.jetty9.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.seleniumhq.jetty9.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.seleniumhq.jetty9.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: Illegal key values seen in w3c capabilities: [platform, version]
	at org.openqa.selenium.remote.NewSessionPayload.lambda$validate$5(NewSessionPayload.java:205)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:372)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.openqa.selenium.remote.NewSessionPayload.validate(NewSessionPayload.java:209)
	at org.openqa.selenium.remote.NewSessionPayload.&lt;init&gt;(NewSessionPayload.java:154)
	at org.openqa.selenium.remote.NewSessionPayload.create(NewSessionPayload.java:105)
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.extractDesiredCapability(WebDriverRequest.java:66)
	... 38 more
</pre>
<h3>Caused by:</h3><pre>java.lang.IllegalArgumentException: Illegal key values seen in w3c capabilities: [platform, version]
	at org.openqa.selenium.remote.NewSessionPayload.lambda$validate$5(NewSessionPayload.java:205)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:372)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.openqa.selenium.remote.NewSessionPayload.validate(NewSessionPayload.java:209)
	at org.openqa.selenium.remote.NewSessionPayload.&lt;init&gt;(NewSessionPayload.java:154)
	at org.openqa.selenium.remote.NewSessionPayload.create(NewSessionPayload.java:105)
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.extractDesiredCapability(WebDriverRequest.java:66)
	at org.openqa.grid.web.servlet.handler.SeleniumBasedRequest.&lt;init&gt;(SeleniumBasedRequest.java:102)
	at org.openqa.grid.web.servlet.handler.WebDriverRequest.&lt;init&gt;(WebDriverRequest.java:36)
	at org.openqa.grid.web.servlet.handler.WebDriverRequestFactory.createFromRequest(WebDriverRequestFactory.java:30)
	at org.openqa.grid.web.servlet.handler.SeleniumBasedRequest.createFromRequest(SeleniumBasedRequest.java:73)
	at org.openqa.grid.web.servlet.DriverServlet.process(DriverServlet.java:83)
	at org.openqa.grid.web.servlet.DriverServlet.doPost(DriverServlet.java:69)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.seleniumhq.jetty9.servlet.ServletHolder.handle(ServletHolder.java:865)
	at org.seleniumhq.jetty9.servlet.ServletHandler.doHandle(ServletHandler.java:535)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
	at org.seleniumhq.jetty9.security.SecurityHandler.handle(SecurityHandler.java:548)
	at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
	at org.seleniumhq.jetty9.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
	at org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
	at org.seleniumhq.jetty9.servlet.ServletHandler.doScope(ServletHandler.java:473)
	at org.seleniumhq.jetty9.server.session.SessionHandler.doScope(SessionHandler.java:1564)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
	at org.seleniumhq.jetty9.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
	at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
	at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
	at org.seleniumhq.jetty9.server.Server.handle(Server.java:503)
	at org.seleniumhq.jetty9.server.HttpChannel.handle(HttpChannel.java:364)
	at org.seleniumhq.jetty9.server.HttpConnection.onFillable(HttpConnection.java:260)
	at org.seleniumhq.jetty9.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
	at org.seleniumhq.jetty9.io.FillInterest.fillable(FillInterest.java:103)
	at org.seleniumhq.jetty9.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.seleniumhq.jetty9.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
	at org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
	at org.seleniumhq.jetty9.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
	at java.lang.Thread.run(Thread.java:748)
</pre>
<hr><a href="http://eclipse.org/jetty">Powered by Jetty:// 9.4.z-SNAPSHOT</a><hr/>

</body>
</html>

	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:115)
	... 48 more
Caused by: org.openqa.selenium.json.JsonException: Unable to determine type from: <. Last 1 characters read: <
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'M-H0139.local', ip: 'fe80:0:0:0:18b2:af60:b11d:e7a9%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.6', java.version: '1.8.0_202'
Driver info: driver.version: IOSDriver
	at org.openqa.selenium.json.JsonInput.peek(JsonInput.java:122)
	at org.openqa.selenium.json.JsonTypeCoercer.lambda$null$6(JsonTypeCoercer.java:140)
	at org.openqa.selenium.json.JsonTypeCoercer.coerce(JsonTypeCoercer.java:126)
	at org.openqa.selenium.json.Json.toType(Json.java:69)
	at org.openqa.selenium.json.Json.toType(Json.java:55)
	at org.openqa.selenium.json.Json.toType(Json.java:50)
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:112)
	... 48 more

log Selenium-Grid

2019-02-21 12:05:54.703:WARN:osjs.HttpChannel:qtp1605283233-25: /wd/hub/session java.io.IOException: org.openqa.grid.common.exception.GridException: Cannot extract a capabilities from the request: {
  "desiredCapabilities": {
    "app": "XXXXXXX",
    "clearSystemFiles": true,
    "noReset": "true",
    "appiumVersion": "",
    "deviceName": "iPhone Simulator",
    "fullReset": "false",
    "version": "",
    "platform": "MAC",
    "sendKeyStrategy": "oneByOne",
    "newCommandTimeout": "360",
    "platformVersion": "11.2",
    "automationName": "XCUITest",
    "browserName": "",
    "platformName": "iOS",
    "autoAcceptAlerts": false
  },
  "capabilities": {
    "firstMatch": [
      {
        "appium:app": "XXXXXXX",
        "appium:appiumVersion": "",
        "appium:autoAcceptAlerts": false,
        "appium:automationName": "XCUITest",
        "browserName": "",
        "appium:clearSystemFiles": true,
        "appium:deviceName": "iPhone Simulator",
        "appium:fullReset": "false",
        "appium:newCommandTimeout": "360",
        "appium:noReset": "true",
        "platform": "MAC",
        "platformName": "ios",
        "appium:platformVersion": "11.2",
        "appium:sendKeyStrategy": "oneByOne",
        "version": ""
      }
    ]
  }
}

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 18 (8 by maintainers)

Most upvoted comments

try using “http://localhost:4723/wd/hub” instead. Or use your localhost IP address “http://127.0.1.1:4723/wd/hub”. it works for me!