iOS 11 - Cannot locate UI elements on new layer

Xcode 9.3 Beta 3
Appium 1.8.0 Beta 3
iOS 11.2.5 and iOS 11.3 – real devices

I am having an issue in iOS 11.X (that did not occur in Xcode 8.3.3 / appium 1.7.1 / iOS 10) where I am unable to observe UI elements on additional layers of the application in test. For instance, say a drop-down shade comes up on screen, I am only able to locate elements that lie below that shade, and cannot find anything located on that shade. Note, if I run page_source, the elements I need to find are displayed. Any idea why this is occurring in the latest versions?

This is currently blocking many of my tests in iOS 11…

Can you post a screen from the inspector (or just the page source) and what find element query are you using?

WebDriverWait(self.driver2,100).until(EC.element_to_be_clickable((By.XPATH, “//XCUIElementTypeButton[@label=‘No thanks’]”))).click() is what I am trying to do…which works in iOS 10, but not in iOS 11. Note that this element lies on a drop-down shade (which covers elements such as Contacts, Photos, and Videos).

if you try to find that element in debug mode without the wait condition, because it may assume the element never to be clickable.

If its that maybe you can try presence of element located?

I can try it out…but why would that be in iOS 11? It seems like I can’t find anything on top layers, even though they are listed in the page source. I need to be able to click that element, this is unfortunate.

Even if the element_to_be_clickable is not fulfill, it doesn’t mean you can’t click on the element. I its just a guess… you can also try to locate the element using strategy different from xpath. Check this article from Jonathan Lipps (https://appiumpro.com/editions/8)

Even we are facing the same problem , not able to click on the over layer screen. Please find the screenshot. I will really appreciate if anyone help me out of this.