Cypress.Commands.add('login', (...args) => { ... }) объявляет переиспользуемую команду; типизируют в TypeScript через цепочку Chainable.
Разбор
- Не перегружайте commands всей бизнес-логикой приложения.
- Parent commands vs child (
prevSubject).
- Документируйте в README.
- Избегайте антипаттерна огромных commands-файлов без структуры.
Итог
Custom commands — DRY для частых действий при дисциплине границ ответственности.