appium / appium-mac2-driver

Next-gen Appium macOS driver, backed by Apple XCTest
Apache License 2.0
115 stars 24 forks source link

Mac2Driver is not able to click a TextField element despite element is present stating "Check for interrupting elements affecting xxx" #203

Open flyin-dance opened 1 year ago

flyin-dance commented 1 year ago

I am using Appium and the Mac2Driver to test a macOS app. One of my tests is to test the sign-in functionality by clicking the username field (XCUIElementTypeTextField) and the password field (XCUIElementTypeSecureTextField) and providing the login cred then clicking the "Sign In" button. The driver is able to locate the username box but is not able to click it.

I turned on the Appium server log and saw something like below:

[HTTP] --> POST /wd/hub/session/a671fe87-39bf-4a57-ad6f-369b67e5bb07/element/7197B962-2EC4-4308-8A92-84D1FDE9C752/click
[HTTP] {"id":"7197B962-2EC4-4308-8A92-84D1FDE9C752"}
[W3C (a671fe87)] Driver proxy active, passing request on via HTTP proxy
[debug] [WD Proxy] Matched '/wd/hub/session/a671fe87-39bf-4a57-ad6f-369b67e5bb07/element/7197B962-2EC4-4308-8A92-84D1FDE9C752/click' to command name 'click'
[debug] [WD Proxy] Proxying [POST /wd/hub/session/a671fe87-39bf-4a57-ad6f-369b67e5bb07/element/7197B962-2EC4-4308-8A92-84D1FDE9C752/click] to [POST http://127.0.0.1:10100/session/5C4E467E-3BFF-40F3-8998-37F500B1192D/element/7197B962-2EC4-4308-8A92-84D1FDE9C752/click] with body: {"id":"7197B962-2EC4-4308-8A92-84D1FDE9C752"}
[debug] [WebDriverAgentMac] [xcodebuild] t =    31.86s Find the "Sign in" Button
[debug] [WebDriverAgentMac] [xcodebuild] t =    32.10s Click "Sign in" Button
[debug] [WebDriverAgentMac] [xcodebuild] t =    32.10s     Wait for <AUT> to idle
[debug] [WebDriverAgentMac] [xcodebuild] t =    32.11s     Find the "Sign in" Button
[debug] [WebDriverAgentMac] [xcodebuild] t =    32.31s     Check for interrupting elements affecting "Sign in" Button

Then it hangs there. I am not sure what the interrupting elements might be since there is no change at all from the UI. Could someone please shed some light on what the issue might be, or where I should look into the issue?

Also this issue only started to happen after I upgraded my macOS to Ventura from Monterey, on Monterey the test ran fine.

code snippet used:

WebElement element = driver.findElement(By.className("XCUIElementTypeTextField")); // This will locate the username text box
element.click();
element.sendKeys("test@dummy.com");

Appium version: 1.22.3 Mac2Driver: 0.14.1 Xcode version: 14.2 macOS: Ventura 13.3