Instance state через self та __init__
page є instance attribute: кожен PageObject отримує власний стан через __init__, а method читає його через self.
Команда друкує Page: checkout і assertion проходить.
__init__, self, page та принципи ООП →Відеобібліотека
Пошук у нотатках курсу Java з переходом на потрібну секунду.
page є instance attribute: кожен PageObject отримує власний стан через __init__, а method читає його через self.
Команда друкує Page: checkout і assertion проходить.
__init__, self, page та принципи ООП →Загальноприйнята назва першого параметра instance method. Python передає bound instance неявно під час виклику obj.method(), але ім’я self саме по собі не є keyword.
__init__, self, page та принципи ООП →Фіксує поточні властивості, routing і responsibility model self-hosted runners.
Інфраструктура автотестів та її нюанси → Першоджерело ↗GitHub попереджає, що код workflow на self-hosted runner може скомпрометувати машину та доступні secrets. Один runner виконує одну job одночасно, але це не гарантує ізоляцію між послідовними jobs; для untrusted workflows потрібні ephemeral runners або інша isolation strategy.
Інфраструктура автотестів та її нюанси →Class name позначає page, methods описують actions, locators зберігаються в одному місці, а open завершується мінімальною readiness check.
Після open() test продовжується лише коли heading Sign in видимий; fill_email() приховує locator details від test code.
Описує binding instance methods, self convention і межі private variables у Python.
__init__, self, page та принципи ООП → Першоджерело ↗`self` — явний параметр instance method, через який код звертається до конкретного екземпляра класу. `self.card` означає атрибут цього екземпляра, тоді як локальна змінна `card` живе лише у своїй функції або блоці видимості. Однакові назви технічно можливі, але збільшують когнітивне навантаження. Префікс `self.` одночасно потрібен Python для правильного доступу до instance attribute і показує читачеві, де зберігається стан.
Відкривати приватне середовище для широкого діапазону IP хмарного CI дорого в підтримці й збільшує поверхню атаки. Практичніший варіант — runner усередині контрольованої мережі: GitHub або GitLab передає йому job, а сам runner уже має потрібний маршрут до тестової інфраструктури. Доступ усе одно обмежують мережевими правилами й мінімальними правами конкретного runner.
GitHub і GitLab називають виконавців jobs runners, Jenkins — agents. Хмарні runners зручні, але в приватних організаціях хвилини виконання можуть тарифікуватися. Self-hosted runner працює всередині інфраструктури компанії, дає більше контролю над ресурсами й доступами та часто зменшує операційну вартість регулярних прогонів.
Через `__init__` клас отримує залежності й початковий стан, без яких його методи не мають сенсу. Наприклад, компонент приймає кореневий locator, а Page Object — Playwright `page`; наступні методи перевикористовують ці значення через `self`. У повсякденній мові `__init__` часто називають constructor. Технічно екземпляр створює `__new__`, а `__init__` ініціалізує вже створений об’єкт. Для звичайного Page Object достатньо реалізувати саме `__init__`.
Робота з людьми може бути хаотичною й емоційно складною; глибока технічна робота дає інший тип задоволення. Немає універсально вищої ролі — важливо чесно визначити, який характер задач підходить саме зараз. Корисно пробувати різні професійні ролі й хобі та дізнаватися про труднощі designer, developer, DevOps і manager. Навіть якщо роль не стане основною, цей досвід покращує співпрацю й допомагає розуміти мотиви інших учасників команди.
Якщо кандидат описує CI pipeline, parallelization, sharding, self-hosted runners і підготовку database state перед deployment, окреме базове опитування синтаксису може не додати сигналу. Натомість interviewer просить пояснити, як саме було реалізовано рішення, які trade-offs виникли й що кандидат робив особисто.
[Дивитися з 28:00](https://www.youtube.com/watch?v=jAl2Qf8Zlyg&t=1680s). QA має помічати, коли після змін конкретного contributor-а різко збільшується кількість defects або regression effort. Це не привід для особистої атаки, а measurable signal: planning, self-review або verification недостатні. Feedback краще передавати через узгоджений management channel із прикладами impact. Незалежно від AI, engineer зобов’язаний перевіряти власну роботу; перекладання всієї відповідальності на QA є слабкою engineering culture.