mcdcorp / opentest

Open source test automation tool for web applications, mobile apps and APIs
https://getopentest.org
MIT License
447 stars 107 forks source link

Unable to Start a session with Sauce Lab Appium server from actor #264

Closed pripriya2 closed 4 years ago

pripriya2 commented 4 years ago

OpenTest version number: 1.1.0

Issue: Below error is thrown when we run appium session configured in sauce lab PLEASE NOTE: I am able to launch app with java though with the same desired capability. Error: Unable to parse remote response: Misconfigured -- Unsupported OS/browser/version/device combo: OS: 'unspecified', Browser: 'android', Version: '8.1.', Device: 'Android Emulator' Steps to reproduce:

  1. Start opentest server
  2. Start actor with the below config:

actorType: GMA actorTags: [ MYACTOR ] logLevel: TRACE syncServerUrl: "http://localhost:3001" opentestSharedLocation: "/Users/pripriya2/Desktop/Reports" appium: appiumServerUrl: "https://:<access key>@ondemand.saucelabs.com:443/wd/hub" desiredCapabilities: platformName: "Android" app: "sauce-storage:WhatsApp.apk" deviceName: "Android GoogleAPI Emulator" browserName: "" platformVersion: "8.1"

Pease let me know what more details is required around here to reproduce the issue.

pripriya2 commented 4 years ago

Actor config:

actorType: GMA
actorTags: [ MYACTOR ]
logLevel: TRACE
syncServerUrl: "http://localhost:3001"
opentestSharedLocation: "/Users/pripriya2/Desktop/Reports"
appium:
    appiumServerUrl: "https://<saucelab-username>:<access key>@ondemand.saucelabs.com:443/wd/hub"
    desiredCapabilities:
        platformName: "Android"
        app: "sauce-storage:WhatsApp.apk"
        deviceName: "Android GoogleAPI Emulator"
        browserName: ""
        platformVersion: "8.1"
adrianth commented 4 years ago

Try these capabilities:

platformName: "Android"
app: "sauce-storage:WhatsApp.apk"
deviceName: "Samsung Galaxy S5 Device"
browserName: ""
platformVersion: "4.4"

For more information, please read the Sauce Labs documentation. If you're still unable to make it work, please open a support ticket with them to establish what are the valid combinations for the desired capabilities.

I don't have a Sauce Labs account, so I am not able to see what devices and platform versions they support, but I found some information here.

pripriya2 commented 4 years ago

Hi, With any caps that I pass in the actor file , which works fine with a normal java program, is throwing error: 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) ... 50 more Caused by: org.openqa.selenium.WebDriverException: Unable to parse remote response: Misconfigured -- Unsupported OS/browser/version/device combo: OS: 'unspecified', Browser: 'android', Version: '8.1.', Device: 'Android Emulator' at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:115) ... 55 more Caused by: org.openqa.selenium.json.JsonException: Unable to determine type from: M. Last 1 characters read: M Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' System info: host: 'WKMIN5505293', ip: 'fe80:0:0:0:4a6:c23:a06a:44b8%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.6', java.version: '1.8.0_181' Driver info: driver.version: AndroidDriver 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)