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

Терміни, нюанси та джерела

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

Locator, `WebElement` або рядок

На Python-проєктах можна зустріти три підходи: зберігати locator tuple, лише CSS/XPath-рядок або вже знайдений `WebElement`. Рядок коротший, але не містить тип пошуку; `WebElement` зручний лише поки DOM-вузол не перерендерився; locator дає змогу безпечно виконувати повторний пошук. Якщо helper має приймати і locator, і `WebElement`, це можна відобразити union type та всередині визначити потрібну expected condition. Така гнучкість виправдана лише коли обидва представлення реально використовуються; для нового коду один locator-based контракт простіший. Wait helper отримує default timeout, але дозволяє локально передати довший для справді повільної операції. Page Object може застосовувати Loadable Component approach: сторінка вважається готовою лише після появи її ключових елементів, наприклад email і password inputs.

2. Selenium організація PageObject's та Очікувань →

Python мануфактура · Програма курсу · 31:05–33:10

Явна перевірка помилки типу

Щоб показати цінність schema validation, тип одного поля навмисно змінюється на `str`. `Pydantic` одразу повідомляє шлях до поля, очікуваний тип і фактичне `None`. Якщо `None` справді дозволено контрактом, тип має це відображати, наприклад `str | None`. `Any` варто залишати лише для поля, структура якого справді нестабільна або не важлива для поточної перевірки.

2. API автоматизація одразу правильно, MVC, pydantic →
Запитати в чаті про «Union» →