question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

appium unable to create new session on selenium grid

See original GitHub issue

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": ""
      }
    ]
  }
}

Issue Analytics

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

github_iconTop GitHub Comments

1reaction
ahmeed-evancommented, Jul 12, 2020

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!

0reactions
amrsa1commented, May 1, 2019

@KazuCocoa

im facing same issue, im trying to lunch appium server within my java code with loading node configuration file using --nodeconfig argument programmatically as shown below but it doesn’t work and throws this error message :

22:06:17.748 INFO [RequestHandler.process] - Error forwarding the new session Empty pool of VM for setup Capabilities {appActivi…etc

this is my baseSetup class

`public class BaseSetup {

protected static AndroidDriver<MobileElement> driver = null;
protected AppiumDriverLocalService service;
public WebDriverWait wait;
private ThreadLocalDriver threadLocalDriver = new ThreadLocalDriver();


@Parameters({"deviceName","platformVersion","udid","URL_","Sport","deviceId","sysPort","bootStrap","wdaPort","path"})
@BeforeMethod(alwaysRun = true)
public void setUp (String deviceName, String platformVersion, String udid, String URL_, String Sport, String deviceId, String sysPort, String bootStrap, String wdaPort, String path) throws MalformedURLException {
    System.out.println("Driver Is Initiated");

    DesiredCapabilities dc = new DesiredCapabilities();

    // mobile setup
    dc.setCapability(MobileCapabilityType.DEVICE_NAME, deviceName);
    dc.setCapability("appium:deviceId", deviceId);

// dc.setCapability(“uiautomator2ServerInstallTimeout”, “6000”);

// dc.setCapability(MobileCapabilityType.UDID,udid_); dc.setCapability(MobileCapabilityType.PLATFORM_NAME, “Android”); dc.setCapability(MobileCapabilityType.PLATFORM_VERSION, platformVersion); dc.setCapability(AndroidMobileCapabilityType.SYSTEM_PORT, sysPort); // dc.setCapability(AndroidMobileCapabilityType.KEY_PASSWORD,“cvcv”); // dc.setCapability(“appium:unlockKey”, “khjjh”); dc.setCapability(MobileCapabilityType.AUTOMATION_NAME, “uiautomator2”);

    //application setup
    dc.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "vcvcv");
    dc.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, "cvcv");
    dc.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS,"true");
    dc.setCapability(MobileCapabilityType.CLEAR_SYSTEM_FILES, true);

// driver configuration int port = Integer.parseInt(Sport);

 service = AppiumDriverLocalService
        .buildService(new AppiumServiceBuilder()
                .usingDriverExecutable(new File("/usr/local/bin/node"))
                .withAppiumJS(new File("/Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js"))
                .withArgument(Arg.ADDRESS,URL_)
                .withArgument(Arg.NODECONFIG,path)
                .withArgument(Arg.BootstrapPort,bootStrap)
                .withArgument(Arg.SESSIONOVERRIDE)
                .withArgument(Arg.CALLBACKPORT,Sport)
                .withArgument(Arg.WDALOCALPORT,wdaPort)

                .usingPort(port));

            service.start();

    threadLocalDriver.setTLDriver(new AndroidDriver<MobileElement>(new URL("http://"+URL_+":4444/wd/hub"),dc));
    driver = threadLocalDriver.getTLDriver();
    wait = new WebDriverWait(driver, 10);

}

// @AfterMethod // public void tearDown(){ // driver.quit(); // service.stop(); // System.out.println(“Driver quit”); // }

@AfterMethod
public synchronized void teardown() {
    if (driver != null) {
        driver.quit();
        service.stop();

// } } }

} ` this is my testng xml file

`?xml version=“1.0” encoding=“UTF-8”?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Default Suite" thread-count="5" parallel="tests" verbose="2"> <test name="Note8"> <parameter name="deviceName" value="SM_N950F"/> <parameter name="udid" value="988a1641434e36333130"/> <parameter name="deviceId" value="192.168.1.4:5555"/> <parameter name="platformVersion" value="9"/> <parameter name="URL_" value="127.0.0.1"/> <parameter name="Sport" value="5000"/> <parameter name="bootStrap" value="4725"/> <parameter name="sysPort" value="8230"/> <parameter name="wdaPort" value="8230"/> <parameter name="path" value="/Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/selenium/note8.json"/>

<classes>
    <class name="Tests.LandingPageTest"/>
</classes>

</test>

<test name="Note5">
    <parameter name="deviceName" value="SM_N9208"/>
    <parameter name="udid" value="0715f75124ea0934"/>
    <parameter name="deviceId" value="192.168.1.9:5556"/>
    <parameter name="platformVersion" value="7.0"/>
    <parameter name="URL_" value="127.0.0.1"/>
    <parameter name="Sport" value="5001"/>
    <parameter name="bootStrap" value="4726"/>
    <parameter name="sysPort" value="8240"/>
    <parameter name="wdaPort" value="8240"/>
    <parameter name="path" value="/Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/selenium/note5.json"/>

    <classes>
        <class name="Tests.LandingPageTest"/>
    </classes>
</test> <!-- DemoProject -->

</suite> `

this is the console long : org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: Error forwarding the new session Empty pool of VM for setup Capabilities {appActivity: gfhg, appPackage: hjgh, appium:deviceId: 192.168.1.9:5556, autoGrantPermissions: true, automationName: uiautomator2, clearSystemFiles: true, deviceName: SM_N9208, platformName: android, platformVersion: 7.0, systemPort: 8240} Command duration or timeout: 484 milliseconds

command used for selenium grid is java -jar selenium-server-standalone-3.141.59.jar -role hub

Read more comments on GitHub >

github_iconTop Results From Across the Web

Unable to create new remote session. Appium - Stack Overflow
I found the solution to the problem. Update the Appium Java-client version 4.1.2 to 5.0.0 BETA6 and use the Selenium-Java version 3.3.1.
Read more >
org.openqa.selenium.SessionNotCreatedException: Unable ...
SessionNotCreatedException: Unable to create new remote session [SOLVED] I'm trying to automate iOS app using appium. When I take run as JUnit it...
Read more >
Appium is get an error "unable to create new remote session"
Seems like session between client and server is failing to get initiated. I noticed that URL you use for Appium server is ...
Read more >
unable to create a new remote session - Katalon Community
hi all, i have this problem, but i don't know appium 1.12.1 katalon 6.3.3 xcode 11.0 i launched an ios simulator on katalon...
Read more >
Getting error "It is impossible to create a new session because ...
I am not able to launch the Notepad.exe via windows application driver with selenium and Appium. Below are the versions of all
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found