Hi @Dilan Perera ,
Thanks for reaching out.
In iOS 26, the UIBarButtonItem.Style.done has been deprecated and replaced with the new prominent style. Buttons using this style, like the Picker’s “Done” button, now have a more eye-catching appearance and are often tinted with the app’s accent color by default. As a result:
- The Automation Id
DoneToolbarButtonthat was available in older iOS versions is no longer automatically exposed. - Appium scripts relying on this Automation Id may break.
This change is documented in Apple’s official documentation for UIBarButtonItem.Style.prominent: https://developer.apple.com/documentation/uikit/uibarbuttonitem/style-swift.enum/prominent
It’s also discussed in this blog covering what’s new in UIKit 26: https://sebvidal.com/blog/whats-new-in-uikit-26/
Recommended approaches:
- Update automation to use the new button
- Appium can locate the “Done” button via its visible label/text (
"Done") or via the new default checkmark image. - This is the simplest solution if updating the automation script is acceptable.
- Appium can locate the “Done” button via its visible label/text (
- Keep existing Automation Id
- If you prefer not to change your automation, you can implement a custom toolbar for the Picker and assign a fixed Automation Id to the “Done” button.
- This approach allows Appium to continue using
DoneToolbarButtoneven on iOS 26.
Disclaimer: Some of the links provided are not Microsoft websites. The pages appear to be providing accurate, safe information. Watch out for ads on these sites that may advertise products frequently classified as a PUP (Potentially Unwanted Products). Thoroughly research any product advertised on these sites before you decide to download and install it.
Hope this helps! If my answer was helpful - kindly follow the instructions here so others with the same problem can benefit as well.