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

Python мануфактура · Програма курсу · 16:00–20:00

Lazy `WebElement` через `@property`

Другий поширений варіант Page Object — оголошувати element getter як метод із `@property`. З тесту він виглядає як поле, але `find_element()` виконується лише під час звернення. Це відкладає пошук і зменшує ризик зберегти element reference надто рано. Через property можна викликати `clear()`, `send_keys()`, `click()` або читати `is_selected()`. Для дії, яка потребує очікування, все одно краще мати окремий метод: property не перетворює Selenium на lazy locator і сама по собі не додає retry. Якщо агент або IDE має працювати з незнайомою бібліотекою, урок радить дати йому локальний source code як контекст. Це допомагає звірити реальні методи та актуальну реалізацію замість вигадування API за пам’яттю.

2. Selenium організація PageObject's та Очікувань →
Запитати в чаті про «lazy-evaluation» →