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

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

Що змінилося після запису · 17:23

GraphQL-over-HTTP не обмежується POST і status 200

Current GraphQL-over-HTTP draft requires POST support, permits GET for query operations, forbids GET for mutations and defines non-200 status handling. Тому transport contract треба тестувати за media type і operation, а не очікувати 200 для кожної відповіді.

Точну транспортну специфікацію відео не називає; перевірено проти current draft 2026-07-31.

Вступ до API-автоматизації →

Що змінилося після запису · 0:00

Pydantic validation не завжди є strict

Current Pydantic v2 documentation states that input may be converted to declared types and extra fields are ignored by default. Якщо API-тест має виявляти будь-який schema drift, strict behavior і extra='forbid' треба задати явно.

Не встановлено: точну Pydantic version у відео не названо.

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

Термін · 0:00

SSH key pair

GitHub SSH authentication uses a private key kept on the local machine and a corresponding public key added to the GitHub account; a passphrase protects the private key at rest.

2. Git Workflow у PyCharm/IntelliJ →

Python мануфактура · Програма курсу · 3:30–5:00

Логічні `and` та `or`

`and` повертає truthy результат лише коли правдиві обидві сторони, наприклад status code `201` і наявний user ID. Для `or` достатньо однієї правдивої умови, наприклад response code `200` або `201`. У тестах кілька зрозумілих assertions часто діагностуються краще за одну велику складену умову.

2 оператори →

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

Генерація ключа, passphrase і 2FA

Показано генерацію ключа командою `ssh-keygen` з email-коментарем, вибір шляху збереження та введення passphrase. Символи passphrase в терміналі не відображаються — це нормальна поведінка. Публічну частину додають у GitHub Settings → SSH and GPG keys. Приватну частину не копіюють у GitHub, чати або репозиторій. Додатково рекомендується ввімкнути двофакторну автентифікацію. Після зміни налаштувань автентифікації IDE може знадобитися перезапуск.

2. Git Workflow у PyCharm/IntelliJ →

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

Commit, push і локальний Git identity

`Commit` зберігає зміни лише локально; `Commit and Push` одразу відправляє їх у remote. Часті push можуть запускати CI, тому слід розуміти, які jobs і витрати прив’язані до гілки. Водночас довго тримати єдину копію роботи лише локально теж ризиковано — ритм push узгоджують з командою. Git може попросити `user.name` і `user.email`. Email має бути пов’язаний із потрібним GitHub/GitLab/Bitbucket-акаунтом або бути відповідним `noreply` email. Для робочих і особистих репозиторіїв автор радить локальні налаштування репозиторію замість одного `--global` identity.

2. Git Workflow у PyCharm/IntelliJ →

Python мануфактура · Сесії: AMA та PMP · 13:14–14:39

Масові заміни коду

JetBrains Structural Search and Replace може знайти синтаксичний шаблон і замінити стару конструкцію на нову. ШІ-інструмент теж може допомогти з механічною міграцією, але його результат потрібно перевіряти diff-ом і тестами. Інструмент не визначає коректність автоматично. Спочатку треба зрозуміти новий контракт API, а вже потім масштабувати перевірене перетворення на кодову базу.

Навіщо встановлювати Playwright-браузери, як часто та чому треба оновлювати бібліотеки →

Python мануфактура · Програма курсу · 21:24–27:20

File template для Page Object

Page Object і Page Component мають повторювану основу: імпорти Playwright, клас, `__init__`, збереження `page`, базову перевірку завантаження та часто `return self`. Замість копіювання цієї «шапки» створено власний шаблон у `Settings → Editor → File and Code Templates`. У file template змінна `${NAME}` підставляє назву, яку вводять під час створення файлу. Після збереження в меню `New` з’являється окремий тип `Page Object`; вибір цього пункту створює клас з підготовленими імпортами й методами. Під час live coding шаблон кілька разів виправляється: додаються пропущені `self`, закривається дужка, коригуються відступи. Це нормальний цикл налаштування: створити пробний файл, дочекатися синтаксичних та інспекційних підказок IDE, виправити шаблон і повторити генерацію. Перевіряти потрібно саме згенерований файл, а не лише текст у вікні налаштувань. Оскільки поточні Page Object і Page Component мають однакову основу, одного file template достатньо. Окремі шаблони варто додавати лише тоді, коли їхня структура реально розійдеться.

Майструємо IDE під себе →
Запитати в чаті про «and» →