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

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

Що змінилося після запису · 5:30

Що змінилося після запису

Урок пропонує уявляти job як чистий container або окрему машину.

GitHub окремо визначає GitHub-hosted і self-hosted runners. Hosted job отримує fresh runner instance за documented contract, але environment не перетворює self-hosted runner на isolated container.

Перевірено за документацією 2026-07-31; точна дата зміни не встановлена.

1. Теорія CI/CD та як ви можете інтегрувати тести в пайплайн →

Приклад коду · 44:40

User-facing locator зі scope

Демонструє narrowing до desktop container, user-facing locators і explicit assertion; URL та labels є навчальними placeholders.

Test знаходить лише desktop form і перевіряє повідомлення про невалідний login.

3. Селектори та пошук елементів →

Практика · 26:30

Відтворити mobile/desktop collision

Створити DOM fixture з двома forms і однаковими field identifiers.
Підтвердити strictness failure для global locator.
Звузити пошук до visible container.
Scoped locator проходить без .first і .nth().

3. Селектори та пошук елементів →

Що змінилося після запису · 26:30

Дубльований `id` — невалідний HTML, а scope лише workaround

HTML Standard вимагає, щоб id був унікальним у межах element tree. Scope до desktop container може стабілізувати test, але root fix належить frontend markup.

3. Селектори та пошук елементів →

Нюанс · 26:30

Дубльований responsive DOM — окрема причина неоднозначності

Прихований mobile block може залишатися в DOM разом із desktop block. Visibility не робить global locator унікальним; scope до правильного container має бути явним.

3. Селектори та пошук елементів →

Java: архівні доповнення · 9:40–11:35

Sibling combinator

Комбінатор `+` вибирає adjacent sibling: елемент, який розташований одразу після іншого елемента на тому самому DOM-рівні. Це дозволяє знайти input або container відносно стабільного label. Такий локатор залежить від порядку в DOM, тому перед використанням треба перевірити структуру, а не лише візуальне розташування.

CSS і XPath: пошук елементів →

Python мануфактура · Програма курсу · 31:30–35:44

Scope конфігурації та execution image

Repository-level secrets доступні workflow всього репозиторію, тоді як environment secrets можна обмежити конкретним оточенням і його protection rules. Workflow явно посилається на потрібні значення, тому конфігурація стає частиною контракту запуску, але самі секрети не з’являються у YAML. Кожну job варто уявляти як чистий контейнер або машину на базі визначеного image, наприклад `ubuntu-latest`. Наступне практичне відео показує, як на такому runner послідовно виконати checkout, setup, install і tests.

1. Теорія CI/CD та як ви можете інтегрувати тести в пайплайн →
Запитати в чаті про «container» →