IOS 15 and real device

according to here where it sais that the overlay is by design, it won’t be option to work with real device with Appium anymore?
Thank you

There is no problem. It is visible only on phone. No any problem with automation. On video it is absent also.

What you mean?
Because when I run code on real device there is banner that sais that you are runing automation and to avoid these, please touch the volume buttons, so how the appium can do things beyond that?

This overlay has no any effect.

Ps misprinted in previous answer. ‘now’ -> ‘no’. Updated.

There is effect, the Appium can’t reach elements because it’s overlay as far as I tried

show page source where you can see it. i do not see it with our devices with iOS 15.1.

Here it was
I didn’t try from than

This is photo of screen. Get page source of screen where you can see elements. And where you can see such overlay as element that overlaps and do not allow e.g. tap under elements.

// java
System.out.println(driver.getPageSource())

here you go

and? we do not see in source blocking ‘Automation Running’ in page source. We see this bluetooth alert with button where we can tap.

the click for example on the BT alert is not working

write pls your code.

The simplest click on Alert and i send the :

    @iOSXCUITFindBy(id = "OK")
    private WebElement okBTN;

public MainScreen clickOkOnBluetoothAlert() {
       if(isAlert()) {
             clickInAlertElement(okBTN,10);
          }
         return this;
 }

public boolean isAlert() {
    try{
        wait = new WebDriverWait(getDriver(), 10);
        wait.until(ExpectedConditions.alertIsPresent());
        return true;
    }
    catch(Exception e){
        System.out.println("Error, no alert object: "+e.getMessage());
        return false;
    }
}


public boolean clickInAlertElement(WebElement elem, int delay) {
    wait = new WebDriverWait(getDriver(), delay);
    try{
        wait.until(ExpectedConditions.alertIsPresent());
        elem.click();
        return true;
    } catch (Throwable t) {
        return false;
    }
    finally {
        wait = new WebDriverWait(getDriver(), 30);
    }
}

there is no ‘OK’ text on your photo.
we see instead “אשר”:

<XCUIElementTypeButton type="XCUIElementTypeButton" name="אשר" label="אשר" enabled="true" visible="true" accessible="true" x="52" y="429" width="271" height="45" index="0"/>

try instead:

@iOSXCUITFindBy(iOSNsPredicate = "name == 'OK' OR name == 'אשר'")

I have other device in english where there it is “OK”, you see at the picture alert in Hebrew, that’s the difference.

And switch to tap. Although Appium have tons of tap implementations and it is really confusing what to choose…
http://appium.io/docs/en/commands/interactions/touch/tap/
https://appium.io/docs/en/writing-running-appium/touch-actions/
http://appium.io/docs/en/commands/interactions/actions/

I use last link now. Before used second link.
Finally when when any of tap by element fails, tap by coordinates should 100% work. Very sometimes i forced to use tap by x,y also.

@Aleksei It is something of IOS 15.1, because the same methods works in IOS 14.XX, it’s not the tap thing as far as I see,

it can be with iOS update. Cause the structure of page source may change (for example: saw this with our app).

@Aleksei so we can’t start using Appium with IOS 15.1 currently?

In our company we do not have any problem with our app. We have 50% with 14.x and other 50% iPhones with iOS 15.1.
try workarounds… tap by x,y for example