Прогрессивные веб-приложения — это как бутерброд из обычного фронта и нативных фич. Именно из-за этого их нельзя тестировать по привычной схеме.
Вот где можно допустить ошибки, если не знать нюансов:
1️⃣ Service Worker может кешировать баги
Если один раз закешировалась нерабочая версия, пользователь будет видеть ее снова и снова. Даже если вы давно все поправили.
Решение: принудительно обновлять Service Worker, реализовывать уведомление об обновлении, следить за флагом
waiting.2️⃣ Офлайн — это не режим, а головная боль
Проверяйте:
— что загружается при отключении интернета
— подгружаются ли нужные ассеты
— корректно ли работает fallback-страница
— можно ли перейти между посещенными страницами
Иначе пользователи при первом же отлете Wi-Fi получат белый экран.
3️⃣ Установка на рабочий стол ≠ просто иконка
Установка PWA зависит от множества условий:
— отображение в
display: standalone— наличие иконок нужного размера
— наличие HTTPS
— сервис-воркер с правильным
scopeПриложение может не предложить установку, если упущена одна деталь.
4️⃣ iOS тестировать особенно важно
Safari до сих пор не поддерживает все то, что есть на Android. Например:
— push-уведомления присутствуют, но работают иначе
— ограничения в офлайн-режиме
— нет Web App Install Banner
Выкатить фичу, протестировав только в Chrome, — плохая идея.
5️⃣ Lighthouse не панацея
Да, он покажет базовые метрики и подскажет, чего не хватает для «настоящего» PWA. Но даже с зеленой оценкой может не работать установка, кеширование или offline-режим. Поэтому обязательно делать все вручную.
Полный разбор всех граблей и чек-лист для QA-инженеров читайте на Хабре
Подписывайтесь 🔥 RDCLR.DEV