Тестирование Appium For Mac - нужен совет как писать XPath

Привет! Кто пишет тесты под macOS - подскажите какие вы пишете xpath?

Может есть какой-то способ писать относительные пути?

Документация по Appium For Mac советует делать так(но такие тесты очень тяжело поддерживать ):

"/AXApplication[@AXTitle='Calculator']/AXWindow[0]/AXGroup[1]/AXButton[@AXDescription='clear']"

"/AXApplication[@AXTitle='Calculator']/AXMenuBarItems/AXMenuBarItem[@AXTitle='View']/AXMenu/AXMenuItem[@AXTitle='Scientific']"

"/AXApplication/AXMenuBarItems/AXMenuBarItem[@AXTitle='View']/AXMenu/AXMenuItem[@AXTitle='Basic' and @AXMenuItemMarkC

Катерина, попробуйте установить Appium Desktop - там ви сможете находить нужний елемент
Как ето сделать под Mac, смотрите здесь Appium Beginner Tutorial 8 | How to use Appium Desktop Inspector to find Object Locators - YouTube
Как только ви запустите Appium Desktop и найдете нужний елемент, то в правом меню сам Appium видаст вам всю нужную информацию касательно елемента (xpath, accessibility id, name, и т.д.) В интернете множество ресурсов по написанию xPath, в часности можете посмотреть етот Appium Pro: Writing XPath Queries That Work

Уви, у меня нет под рукою Appium-а, но удалось найти в интернете найти более-менее удачний пример - как построить xPath для мобильних елементов (разние сочетания: по класу, по тексту (если он не будет изменяться), по индексу)


В любом случае, написаний вами xPath можна протестировать либо через сам Appium Desktop, либо используя внешние сервиси - Free Online XPath Tester / Evaluator - FreeFormatter.com (так как Appium Desktop ингода подтормаживает в плане поиска елементов по xPath): копируете DOM source из Appium Desktop-а, вставляете в XML Input, в поле XPath expression пропишите ваш xPath запрос и вперед - либо елемент найден, либо no match :slight_smile: тогда нужно править xPath запрос
Ну, и в целом, старайтесь не злоупореблять xPath-ами для поиска мобильних елементов, так как они слишком замедляют прогон тестов.

Успехов вам! :v:

1 лайк

Спасибо большое!!

Пожалуйста! :cherry_blossom:
Обращайтесь, если что-то будет неясно :wink: