Какие действия предпринять, если при вводе валидных логина и пароля ничего не происходит
Что проверяют
Умеете ли вы локализовать дефект до клиента, сети или сервера и оформить его так, чтобы разработчику не пришлось переспрашивать. Следом часто уточняют: «а если запрос вообще не уходит?» или «а если сервер вернул 200?».
Как отвечать
Сначала уточните условия: веб или мобильное приложение, воспроизводится у всех или у одного пользователя, на каком окружении и сборке. Дальше по слоям:
- клиент: консоль DevTools на ошибки JavaScript, не заблокирована ли кнопка, не перехватывает ли клик невидимый оверлей. Проверьте вход по Enter и по кнопке отдельно, а также с автозаполнением браузера: иногда форма не видит подставленные значения и считает поля пустыми;
- сеть: во вкладке Network виден ли запрос на логин. Не ушёл, значит проблема на клиенте. Ушёл и висит: таймаут или сервер не отвечает. Вернул 4xx или 5xx, а интерфейс промолчал: к основному багу добавляется второй, отсутствие сообщения об ошибке. Ошибки CORS тоже видны здесь;
- ответ 200: самый интересный случай. Токен пришёл, но не сохранился: смотрите вкладку Application, куки с атрибутами
SecureиSameSite, localStorage. Или сохранился, но не сработал редирект после входа, или приложение попало в цикл перенаправлений; - сервер и данные: логи бэкенда, состояние учётки (заблокирована, не подтверждена почта, нет роли), расхождение данных между окружениями. Запрос можно повторить в Postman или через
curl, чтобы отделить сервер от интерфейса; - окружение: другой браузер, инкогнито без расширений, очистка кэша. Это отсекает проблемы кэша и блокировщиков.
Итог оформляется баг-репортом: шаги, тестовая учётка, окружение, ожидаемый и фактический результат, скриншот консоли, HAR-файл или копия запроса.
Где спотыкаются
Ограничиваются формулировкой «логин не работает» без данных из Network и консоли. Такой баг вернётся с пометкой «не воспроизводится».
Не копают дальше ответа 200. Кажется, что раз сервер ответил успешно, всё в порядке, а проблема прячется в куках, токене или редиректе.
Упускают, что тишина при ошибке сама по себе дефект. Даже когда причина на сервере, интерфейс обязан показать пользователю понятное сообщение.