alumnium-hq/alumnium

Handle non-unique locators in Appium (iOS)

Open

#132 opened on Jul 19, 2025

 (0 comments) (0 reactions) (0 assignees)TypeScript (97 forks)github user discovery
good first issue

Repository metrics

Stars
 (997 stars)
PR merge metrics
 (Avg merge 2d 7h) (15 merged PRs in 30d)

Description

The current locating strategy in Appium is fairly native - it would attempt to find elements by tag name, name, text, and label. Often, there will be multiple elements matching this locator. We need to improve locators by:

  1. Generating the same XPath.
  2. Checking it against the accessibility tree.
  3. If there is one match, we can proceed.
  4. If there are multiple matches, find the one we are interested in (we can use "id" for that) and append its index to XPath.

When an area is used (#129), we would still need to search within the whole accessibility tree if possible.

Once this is done, swag_labs_test.py should start passing on Appium.

Contributor guide