I can't get the element in my app installed on iOS device using appium inspector

I tried to use appium inspector to get elements in my app. When I move the mouse to one button to get its element definition, all the screen were chosen, I can’t get the element for the button.

appium inpector version is 1.22.3, appium version is 1.22.3

My tested iphone is iphone13 with iOS 16.0

1 Like

It doesn’t always work that way. Sometimes you have to open the triangles in the middle section and hunt around for the proper element.

1 Like

Thanks for your reply. I have clicked the triangles in the middle session, but there are not additional information under it.

I don’t know anything about your app. Maybe you need to have developers add id’s.

Hi, it is a known problem…
it depends on your app. basically, iOS apps does not expose all its content to any application… but, it does expose its accessibility content (accessibilityIdentifier, accessibilityLabel…)

in order for you to see them using appium, you need the views to be defined as accessible (in the iOS mobile code) then, your app will expose them to appium.

ask yours developers to check how to make your iOS views accessible.
note that there might be a difference between iOS native, custom and third party views…

try to see this: Introduction to Accessibility Programming Guidelines for Cocoa
and maybe try this before talking to your developers: https://appium.io/docs/en/drivers/ios-xcuitest/#accessibility-preferences-fine-tuning:~:text=software%20keyboard%20on-,Accessibility%20preferences%20fine-tuning,-In%20some%20cases

update(new links):

medium: Accessibility Containers. Anyone who knows me will tell you, I’m… | by Kane | Kin + Carta Created | Medium

apple docs: isAccessibilityElement | Apple Developer Documentation

Note:
In order to make a view accessible you need to set its isAccessibilityElement to true and for its container view(and ancestors) to set isAccessibilityElement to false.

If the container view’s isAccessibilityElement is true, it will expose the container view as a whole and will hide its subviews(even if theirs isAccessibilityElement property is set to true).

By default, isAccessibilityElement is true for UIKit control(such as UIButton).

1 Like

Thanks a lot. I tried the method in this link: https://appium.io/docs/en/drivers/ios-xcuitest/#accessibility-preferences-fine-tuning:~:text=software%20keyboard%20on-,Accessibility%20preferences%20fine-tuning,-In%20some%20cases . It worked.

3 Likes

Hi, I would like to ask where to to:

" * Turn Spoken Content in Settings > Accessibility on

  • Turn Speak Selection in Settings > Accessibility on

Is it in appium session, appium inspector, iphone or ? Thanks

It is phone settings

Yes , in iphone settings.

The link provided is not working anymore, tried to find it https://appium.github.io/appium-xcuitest-driver/4.16/device-preparation/ is this the correct link? if it is, i tried it but it’s not working.

i’m using an emulator iPhone 14, iOS 16.4

Hi All, how about with android?
I can’t get the element in my app installed on android 12 device using appium 1.22.3