💯
только это ж не про апп экшэны.
судя по статье, апп экшены- это когда тест взаимодействует со страницей не через ui, а через внутренние "особенности реализации". То шо начинается с
if (window.Cypress) {
We have NOT changed the test code, instead we improved the application code
Основная идея - не нужно ВСЕГДА ходить через юай. Если нужны прекондишены - лучше их делать через апи, бд, или програмно управлять состоянием. Тоесть, для определенного атомарного теста ты себе подготовил стейт, и дальше гонишь обычные шаги сценария, через юай. Пейдж обджекты же линкуются к разметке страницы и есть риск, что вместо нормального теста на 5-10-30 секунд мы получим офигенный класический е2е тест, как много где пишут (и я такое видел): юзер идет от страницы логина, потом пара действий, переход на другую страницу приложения, че-то поделали там, открыли новую вкладку с админкой, что-то наконфигурировали, вернулись к юзеру, что-то еще поделали, пара асертов и в конце логаут - крутой тест, бегает две минуты (в лучшем случае), проверяет кучу всего, но ты потом задолбешся дебажить каждый такой тест, если он упал.