ID is shown in the app tree, but now shown as a Find by element

Hi everyone.

We’ve ran into a weird issue on our android app. Our android app is built with jetpack compose, so we’ve used the following to use test tags and assign those to the resource-id for appium purposes: https://juliensalvi.medium.com/ui-tests-with-jetpack-compose-and-appium-x-uiautomator-5d276fb655aa
This works great for all our elements, until now.

This one element shows in the appium inspector as a valid resource-id in the app tree. Yet on the right handside as a FindBy option, it doesn’t show it. Meaning I cant use it in our tests. We’ve implemented this the same as everywhere else in our app. Has anyone else come across something like this before?

In the tree inside appium inspector:
33

When giving options of how to find the element in the inspector:

Yes I have seen similar things. I also test android apps written in Jetpack Compose. I don’t have a solution to stop this happening but I do use a workaround. Instead of finding the element by Id I use Xpath with the following value:

//*[@resource-id='scenario_details_item_state_etc']

This is functionally equivalent to using Id as far as running the test is concerned. I’m not sure about performance though. I suspect it would be slower than using the Id as it has to traverse the XML tree - but it’s better than not being able to run the test at all.