Breaking Change in Appium affects UiPath Mobile Automation

Breaking Change in Appium affects UiPath Mobile Automation

UiPath mobile Automation relies on Appium as its driver in order to automate mobile applications.

UIAutomator and XCUItest are part of Appium and enable the interaction with user interface (UI) of Android and iOS apps. They provide a set of APIs and methods to perform various actions on devices and applications, such as tapping on elements, entering text, swiping, and verifying UI elements, among other tasks.

The recently released versions of UiAutomator and XCUItest include breaking changes which affect our capabilities to interact with mobile devices.

Specifically, the removal of an endpoint to retrieve the pixel ratio of Ui controls leads to the malfunction of our Mobile Device Manager. The obsolete getSession API does not return any extra driver-specific data anymore (e.g., statBarHeight, pixelRatio, viewportRect).

Affected UiPath Studio versions:

All versions are affected.

Affected UiPath Mobile Package versions:

All versions are affected.

Affected Appium Version:

Appium 2.x and any Appium version leveraging new XCUItest (4.35 latest working) and or
new UIAutomator2 (2.29.11 latest working)

Failure details:

Could not determine the device pixel ratio.

Please ensure that the current Appium version is at least 1.15.0.

When using a device cloud, please consult the documentation and set the provider-specific Appium version parameter to the latest supported version after 1.15.0 for your current operating system version.

Solution:

We are working on a fix right now for the following Studio versions: 23.10, 23.4, 22.10, and expect to be able to deliver a patch in the first week of December.

In case you have any additional questions, pls feel free to get in touch with us.

cc: @Astrid_Diana_Staicu , @AlvinStanescu, @Cristian_Alexandrescu

1 Like

Hello, as of 12/07/2023, is any solution for this available? Can i downgrade appium /appium driver versions? Will it work?

1 Like

Is there indeed any workaround? I cannot use Mobile Automation features at all. This is very frustrating.

Hello! Fixes were made in the 23.10.2 patch.

@Astrid_Diana_Staicu
Hello - I am get this error and I have the latest version : 2023.10.2
Is it really fixed ?

I can’t reproduce this with 23.10.2 but I can reproduce it for 23.10.0: so it seems fixed to me.

@phaserescu
Didn’t understand
With 2023.10.0 it work well ?
How can I get this version if it so ?

No, the other way around!
2023.10.0 → it doesn’t work (I reproduce the initial issue)
2023.10.2 → it works (which shows that 2023.10.2 fixed the issue)

@phaserescu
So what could be the problem If I got this error in 2023.10.2 ???

I can’t say without more details: appium log, intercepted appium calls, what application is in test (native app, web app) etc.

If it helps you should know that I’m using Appium 2.2.3 with just the uiautomation driver installed:

> appium driver list
✔ Listing available drivers
- uiautomator2@2.34.2 [installed (npm)]
- xcuitest [not installed]
- mac2 [not installed]
- espresso [not installed]
- safari [not installed]
- gecko [not installed]
- chromium [not installed]

Also I’m connecting to the device with no app.

@phaserescu

√ Listing available driversdriver list

  • uiautomator2@2.35.0 [installed (npm)]
  • espresso@2.29.3 [installed (npm)]
  • chromium@1.2.64 [installed (npm)]
  • xcuitest [not installed]
  • mac2 [not installed]
  • safari [not installed]
  • gecko [not installed]

I am using Android Studio - virtual device
Then I connect I put the details in the MDM

I reproduced your configuration but it works for me:

I updated uiautomator to 2.35.0 but it still works.

Also make sure that you use the latests Mobile Automations Activities package. This was the issue for me.

@phaserescu
You are the champ !!!
Its work now !!!
Thanks a lot friend !!!

1 Like