appium / appium/java-client

[Bug] Suddenly unable to click elements that are considered clickable by WebDriverWait

Open
#2,085 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
1.3k
Forks
752
Avg merge
6d 21h
Merged PRs (30d)
8

Description

Description

I'm suddenly facing issues with elements that fail to be clicked, while WebDriverWait considers them to be clickable.

Trying to click those elements with the WebElement .click() method, returns a detail message that reads,

An unknown server-side error occurred while processing the command. Original error: unknown error: Element <div class="c-button__title">...</div> is not clickable at point (566, 483). Other element would receive the click: <div class="c-button--active" style="border-radius: 0.25rem;"></div>
  (Session info: chrome=69.0.3497.100)
  (Driver info: chromedriver=2.44.609538 (b655c5a60b0b544917107a59d4153d4bf78e1b90),platform=Windows NT 10.0.19045 x86_64)

with a cause that reads

org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: unknown error: Element <div class="c-button__title">...</div> is not clickable at point (566, 483). Other element would receive the click: <div class="c-button--active" style="border-radius: 0.25rem;"></div>
  (Session info: chrome=69.0.3497.100)
  (Driver info: chromedriver=2.44.609538 (b655c5a60b0b544917107a59d4153d4bf78e1b90),platform=Windows NT 10.0.19045 x86_64)
Build info: version: '4.16.1', revision: '9b4c83354e'
System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.7'
Driver info: io.appium.java_client.android.AndroidDriver
Command: [a22d7629-65b6-4c7c-86b6-132436a6c1e9, clickElement {id=0.7700422711264372-27}]
Capabilities {appium:appActivity: <omitted>, appium:appPackage: <omitted>, appium:autoGrantPermissions: true, appium:automationName: UIAutomator2, appium:databaseEnabled: false, appium:desired: {appActivity: <omitted>, appPackage: <omitted>, autoGrantPermissions: true, automationName: UIAutomator2, newCommandTimeout: 3600, platformName: ANDROID, udid: emulator-5554, uiautomator2ServerInstallTimeout: 60000}, appium:deviceApiLevel: 28, appium:deviceManufacturer: Google, appium:deviceModel: AOSP on IA Emulator, appium:deviceName: emulator-5554, appium:deviceScreenDensity: 160, appium:deviceScreenSize: 1280x800, appium:deviceUDID: emulator-5554, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: true, appium:newCommandTimeout: 3600, appium:pixelRatio: 1, appium:platformVersion: 9, appium:statBarHeight: 24, appium:takesScreenshot: true, appium:udid: emulator-5554, appium:uiautomator2ServerInstallTimeout: 60000, appium:viewportRect: {height: 728, left: 0, top: 24, width: 1280}, appium:warnings: {}, appium:webStorageEnabled: false, platformName: ANDROID}
Element: [[AndroidDriver:  on ANDROID (a22d7629-65b6-4c7c-86b6-132436a6c1e9)] -> xpath: //div[@class='c-button__title' and text()='Apply All']]
Session ID: a22d7629-65b6-4c7c-86b6-132436a6c1e9

Note that it didn't throw the expected ElementNotInteractableException exception.

Trying to instead click them through the Actions .click(WebElement target) method , I get,
Request failed with status code 501
with,

org.openqa.selenium.WebDriverException: Request failed with status code 501
Build info: version: '4.16.1', revision: '9b4c83354e'
System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.7'
Driver info: io.appium.java_client.android.AndroidDriver
Command: [a22d7629-65b6-4c7c-86b6-132436a6c1e9, actions {actions=[org.openqa.selenium.interactions.Sequence@870a9f2]}]
Capabilities {appium:appActivity: com.eposnow.till.MainActivity, appium:appPackage: com.eposnow.till, appium:autoGrantPermissions: true, appium:automationName: UIAutomator2, appium:databaseEnabled: false, appium:desired: {appActivity: com.eposnow.till.MainActivity, appPackage: com.eposnow.till, autoGrantPermissions: true, automationName: UIAutomator2, newCommandTimeout: 3600, platformName: ANDROID, udid: emulator-5554, uiautomator2ServerInstallTimeout: 60000}, appium:deviceApiLevel: 28, appium:deviceManufacturer: Google, appium:deviceModel: AOSP on IA Emulator, appium:deviceName: emulator-5554, appium:deviceScreenDensity: 160, appium:deviceScreenSize: 1280x800, appium:deviceUDID: emulator-5554, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: true, appium:newCommandTimeout: 3600, appium:pixelRatio: 1, appium:platformVersion: 9, appium:statBarHeight: 24, appium:takesScreenshot: true, appium:udid: emulator-5554, appium:uiautomator2ServerInstallTimeout: 60000, appium:viewportRect: {height: 728, left: 0, top: 24, width: 1280}, appium:warnings: {}, appium:webStorageEnabled: false, platformName: ANDROID}
Session ID: a22d7629-65b6-4c7c-86b6-132436a6c1e9

If the same script is executed through ChromeDriver on Chrome Browser, I get the ElementNotInteractableException exception instead, and I am able to click it through the Actions class. That's why I suspected it was something with Appium.

Environment

  • Java 17
  • Appium 2.2.3
  • Windows 10
  • Node.js 18.13.0
  • Android 9
  • Reproducible on both physical pevice and pmulator

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the reported WebDriverWait element click and Actions.click(WebElement) paths with the listed Appium 2.2.3, UiAutomator2, Android 9 setup, then compare them with the ChromeDriver behavior. Done means the Appium path reports the expected interaction exception or supports the Actions click consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.