Fix session payload for W3C by SrinivasanTarget · Pull Request #913 · appium/java-client
@mykola-mokhnach @dpgraham I make the changes and java client session payload is as same as other clients now.
For w3c,
[HTTP] --> POST /wd/hub/session
[HTTP] {"desiredCapabilities":{"app":"/Users/ssekar/workspace/java-client/src/test/java/io/appium/java_client/ApiDemos-debug.apk","automationName":"UIAutomator2","platformName":"Android","deviceName":"Android Emulator"},"capabilities":{"alwaysMatch":{"appium:app":"/Users/ssekar/workspace/java-client/src/test/java/io/appium/java_client/ApiDemos-debug.apk","appium:automationName":"UIAutomator2","appium:deviceName":"Android Emulator","platformName":"android"},"firstMatch":[{}]}}
[debug] [MJSONWP] Calling AppiumDriver.createSession() with args: [{"app":"/Users/ssekar/workspace/java-client/src/test/java/io/appium/java_client/ApiDemos-debug.apk","automationName":"UIAutomator2","platformName":"Android","deviceName":"Android Emulator"},null,{"alwaysMatch":{"appium:app":"/Users/ssekar/workspace/java-client/src/test/java/io/appium/java_client/ApiDemos-debug.apk","appium:automationName":"UIAutomator2","appium:deviceName":"Android Emulator","platformName":"android"},"firstMatch":[{}]}]
[debug] [BaseDriver] Event 'newSessionRequested' logged at 1528309687741 (23:58:07 GMT+0530 (IST))
[Appium] Creating new AndroidUiautomator2Driver (v1.12.0) session
[Appium] Capabilities:
[Appium] platformName: android
[Appium] app: /Users/ssekar/workspace/java-client/src/test/java/io/appium/java_client/ApiDemos-debug.apk
[Appium] automationName: UIAutomator2
[Appium] deviceName: Android Emulator
[debug] [BaseDriver] W3C capabilities {"alwaysMatch":{"platformNa... and MJSONWP desired capabilities [object Object] were provided
[debug] [BaseDriver] Creating session with W3C capabilities: {"alwaysMatch":{"platformNa...
[BaseDriver] Session created with session id: 52ef9fd7-ceb1-46c0-8bee-0db707686b51
For MJSWP,
[HTTP] --> POST /wd/hub/session
[HTTP] {"desiredCapabilities":{"app":"/Users/ssekar/workspace/java-client/src/test/java/io/appium/java_client/ApiDemos-debug.apk","automationName":"UIAutomator2","platformName":"Android","deviceName":"Android Emulator"},"capabilities":{"alwaysMatch":{"platformName":"android"},"firstMatch":[{}]}}
[debug] [MJSONWP] Calling AppiumDriver.createSession() with args: [{"app":"/Users/ssekar/workspace/java-client/src/test/java/io/appium/java_client/ApiDemos-debug.apk","automationName":"UIAutomator2","platformName":"Android","deviceName":"Android Emulator"},null,{"alwaysMatch":{"platformName":"android"},"firstMatch":[{}]}]
[debug] [BaseDriver] Event 'newSessionRequested' logged at 1528310015357 (00:03:35 GMT+0530 (IST))
[Appium] Could not parse W3C capabilities: 'deviceName' can't be blank. Falling back to JSONWP protocol.
[Appium] The following capabilities were provided in the JSONWP desired capabilities that are missing in W3C capabilities: ["app","automationName","platformName","deviceName"]. Falling back to JSONWP protocol.
[Appium] Creating new AndroidUiautomator2Driver (v1.12.0) session
[Appium] Capabilities:
[Appium] app: /Users/ssekar/workspace/java-client/src/test/java/io/appium/java_client/ApiDemos-debug.apk
[Appium] automationName: UIAutomator2
[Appium] platformName: Android
[Appium] deviceName: Android Emulator
[debug] [BaseDriver] Creating session with MJSONWP desired capabilities: {"app":"/Users/ssekar/works...
[BaseDriver] Session created with session id: 5b2fa500-f32d-4be9-906a-95e58b2a5ffd
Payload was like this before the change,
{
"desiredCapabilities": {...},
"capabilities": {
"desiredCapabilities": {...},
"firstMatch": [{...}]
}
}