Sitelet https://github.com/appium/python-client/issues/698
Skip to content

Issues using expected conditions over mobile locators (Selenium 4) #698

Description

@Juanap12

The problem

I'm trying to wait for an element to be clickable. This exact same wait does work for our web automation tests, but is showing the following error for mobile elements:

AttributeError: type object 'Command' has no attribute 'IS_ELEMENT_DISPLAYED'

This is the wait we're trying to perform

element = WebDriverWait(parent, timeout, poll_frequency=poll, ignored_exceptions=[ElementNotVisibleException, ElementNotSelectableException, StaleElementReferenceException])\ .until(expected_conditions.element_to_be_clickable(selector))

"parent" is the driver
"timeout" is a value given in seconds
"selector" is a tuple that has the location strategy and the locator itself. e.g. ('-android uiautomator', 'new UiSelector().textContains("get started")')

Environment

  • Appium version (or git revision) that exhibits the issue: Currently testing over selenium>=4.1.3 and Appium-Python-Client>=2.1.4
  • Desktop OS/version used to run Appium: macOS Monterey
  • Node.js version (unless using Appium.app|exe):
  • Mobile platform/version under test: Android 10
  • Real device or emulator/simulator: emulator
  • Appium CLI or Appium.app|exe: 1.22.0

Details

Worth to mention that if I perform a driver.find_element(*selector) it does find the element. It shows the following result <appium.webdriver.webelement.WebElement (session="a7f5a8a1-4e63-4847-bcc7-265666d7760b", element="00000000-0000-010c-ffff-ffff0000001e")>. But, if I try to use the expected condition ".element_to_be_clickable" it shows the error mentioned at the beginning

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions