java-client: Error parsing session info from SauceLabs

Description

When I run the attached code with Appium version 8.0.0-beta on SauceLabs, in the SauceLabs dashboard I see the test running, I see the device launching and the app starting, so I know the session had started. But then the client fails with this error:

org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Unable to parse remote response

See full exception log here: https://gist.github.com/itaibh/5cdf5eb606de58299aed0abb4005c0e0

Environment

I give here sample code that uses the following capabilities:

  • IOS 13.0 Simulator
  • Appium 1.17.1

However, the same issue occurs on other configurations, where the common thing is that I use Appium Java Client 8.0.0-beta and SauceLabs. Notice this doesn’t happen on BrowserStack (which is the only other provider I tested on).

Code To Reproduce Issue

import io.appium.java_client.AppiumDriver;
import org.openqa.selenium.MutableCapabilities;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.Test;
import java.net.URL;

public class TestAppiumOnSauceLabs {
    @Test
    public void TestOnSauce() {
        DesiredCapabilities caps = new DesiredCapabilities();
        caps.setCapability("browserName", "");
        caps.setCapability("name", "iOS Native Demo");
        caps.setCapability("platformName", "iOS");
        caps.setCapability("appium:platformVersion", "13.0");
        caps.setCapability("appiumVersion", "1.17.1");
        caps.setCapability("appium:deviceName", "iPhone XS Simulator");

        MutableCapabilities sauceOpts = new MutableCapabilities();
        sauceOpts.setCapability("username", System.getenv("SAUCE_USERNAME"));
        sauceOpts.setCapability("accessKey", System.getenv("SAUCE_ACCESS_KEY"));
        caps.setCapability("sauce:options", sauceOpts);

        caps.setCapability("app", "https://applitools.jfrog.io/artifactory/Examples/eyes-ios-hello-world/1.2/eyes-ios-hello-world.zip");

        WebDriver driver = null;
        try {
            driver = new AppiumDriver(new URL("https://ondemand.saucelabs.com:443/wd/hub"), caps);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (driver != null) {
                driver.quit();
            }
        }
    }
}

Link To Appium Logs

https://gist.github.com/itaibh/d85b1a33257fa5101816f1214a48fda9

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 17 (9 by maintainers)

Commits related to this issue

Most upvoted comments

Python client handles connections via urllib3 as same as the base selenium client. It sets redirect stuff True by default, so I think python is also ok.