Appium Java client upgrade to 9.4.0 causing an error : Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure

Without changing my code at all, these dependency combination works:

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

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

The moment I upgrade to

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

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

I get an error message:

org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. 
Build info: version: '4.28.0', revision: 'ac342546e9'
System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '21.0.3'
Driver info: io.appium.java_client.android.AndroidDriver
Command: [null, newSession {capabilities=[Capabilities {appium:appActivity: com.test.app.preview.Ma..., appium:appPackage: com.test.app.preview, appium:appWaitActivity: .MainActivity, appium:deviceName: Pixel_7_API_34, appium:platformName: Android, appium:platformVersion: 14, appium:udid: emulator-5554, automationName: UIAutomator2, platformName: ANDROID}]}]
Capabilities {appium:appActivity: com.test.app.preview.Ma..., appium:appPackage: com.test.app.preview, appium:appWaitActivity: .MainActivity, appium:deviceName: Pixel_7_API_34, appium:platformName: Android, appium:platformVersion: 14, appium:udid: emulator-5554, automationName: UIAutomator2, platformName: ANDROID}

According to compatibility matrix I should have any problem:

Anyone knows how to fix this? It seems the moment I upgrade to anything above Java-Client 9.2.2 I have this problem.

I don’t have any appium console logs because the error is occurring before my code even connects to appium server. It happens when initialising Appium/Android driver.

Could it be my capabilitiess?

DesiredCapabilities cap = new DesiredCapabilities();
         cap.setCapability("appium:deviceName","Pixel_7_API_34");
        cap.setCapability("appium:platformVersion","14");
        cap.setCapability("appium:udid","emulator-5554");
        cap.setCapability("appium:platformName","Android");
        cap.setCapability("appium:appPackage",appPackage);
        cap.setCapability("appium:appActivity",appActivity);
        cap.setCapability ("automationName", AutomationName.ANDROID_UIAUTOMATOR2);
        cap.setCapability("appium:appWaitActivity",".MainActivity");
        cap.setCapability("appium:skipServerInstallation",false);
        cap.setCapability("appium:noReset",true);
        URL url = new URL("http://127.0.0.1:4723/wd/hub");
        androidDriver.set(new AndroidDriver(url,cap))

I would really appreciate your help, thank you in Advance!

Yes, I think so. In Java client 9.2.3 there was a change to the ‘prefix’ of the capabilities. Please see this bug:

Solution is to use UiAutomator2Options instead of DesiredCapabilities. Example:

1 Like

Thank you @wreed, you’re a legend. I just noticed my automationName cap didn’t have “appium:” prefix:

        cap.setCapability("appium:appActivity",appActivity);
        cap.setCapability ("automationName", AutomationName.ANDROID_UIAUTOMATOR2); // "automationName" should be "appium:automationName" due to the prefix requirement since v 9.2.3 as Wreed mentioned
        cap.setCapability("appium:appWaitActivity",".MainActivity");

Coding is really funny sometimes😂.
Thanks all, I appreciate this community so much. Cheers!

1 Like