Python мануфактураJavaDesign Patterns для автоматизаторів

Design Patterns для автоматизаторів · 1:05:00–1:13:33

DOM tree, CSS і XPath

Пошук елемента має слідувати DOM tree: спочатку стабільний parent/container, потім потрібний descendant або text filter. Playwright і Selenide вміють фільтрувати locator за текстом, тому довгий XPath часто не потрібний. Playwright `locator` сам визначає XPath за `//`, але автор радить використовувати CSS, attributes і можливості бібліотеки. Recorder/debugger можуть запропонувати selector, однак його стабільність усе одно оцінює команда.

Playwright Java, пишемо тести та робимо Selenide на мінімалках →

Design Patterns для автоматизаторів · 20:00–31:00

Locator strategy і accessibility roles

Playwright підтримує CSS, XPath, text і role-based locators. `getByRole` спирається на ARIA/accessibility semantics та accessible name, що особливо корисно для frameworks, які рендерять custom elements або `div` замість native controls. Role locator надійний лише тоді, коли frontend справді підтримує коректну accessibility structure. Якщо labels/roles генеруються випадково або команда їх не контролює, краще домовитися про стабільні attributes, ніж механічно слідувати документації.

Playwright Java, пишемо тести та робимо Selenide на мінімалках →

Design Patterns для автоматизаторів · 1:23:41–1:33:02

Scroll, virtualized lists і locator contracts

Mobile list часто рендерить лише елементи, видимі на screen, тому до п'ятого чи наступного item неможливо звернутися без scroll. Це відрізняється від звичайного HTML, де весь отриманий DOM часто вже доступний driver. Для пошуку радять `accessibilityId`, accessibility label, Android resource ID або content description, а не XPath. Тестувальник може сам додавати ці атрибути в application code і надсилати невеликий PR на review, бо hotfixes та custom components регулярно порушують навіть узгоджений locator guideline.

Мобільне тестування та автоматизація →
Запитати в чаті про «xpath» →