Приходилось ли работать с эмуляцией мобильных устройств в веб UI тестах
Что проверяют
Понимаете ли вы, что именно даёт эмуляция в браузере и где проходит её граница. Вопрос обычно идёт от команды, у которой мобильная вёрстка ломается у пользователей, а автотесты при этом зелёные.
Как отвечать
Начните с того, что в Java-стеке эмуляция настраивается опциями драйвера, а не руками в панели разработчика:
Map<String, Object> metrics = Map.of(
"width", 390, "height", 844, "pixelRatio", 3.0, "touch", true);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("mobileEmulation",
Map.of("deviceMetrics", metrics, "userAgent", MOBILE_UA));Так проверяются медиазапросы, точки переключения сетки, поведение при грубом указателе, картинки под высокую плотность и то, что мобильное меню вообще раскрывается.
Дальше разграничьте уровни. Эмуляция в браузере это дешёвый прогон в общем конвейере: годится для вёрстки и логики интерфейса. Реальные устройства и системные эмуляторы через драйвер мобильной автоматизации нужны для жестов, экранной клавиатуры, загрузки файлов и системных диалогов. Отдельно скажите про движки: мобильная версия десктопного браузера использует тот же движок, а браузер на телефоне другой платформы работает на своём, и эмуляцией его не заменить.
Полезно добавить, как это живёт в сборке: контейнер с браузером, фиксированный размер окна, скриншоты и видео в отчёте, один набор тестов, параметризованный профилями устройств, а не копии классов под каждую диагональ.
Где спотыкаются
Считают эмуляцию заменой реальным устройствам. Она не проверяет ни скорость на слабом железе, ни работу с памятью, ни настоящие жесты, ни особенности чужого движка. Зелёный прогон на эмуляции при сломанной вёрстке на живом телефоне это обычное сочетание.
Меняют только размер окна. Без подмены строки клиента, плотности пикселей и признака касаний сайт продолжает считать вас десктопом: отдаёт другую разметку, вешает наведение вместо нажатия, грузит изображения не того размера.
Прикручивают сравнение скриншотов и получают красный прогон на ровном месте. Рабочая машина и контейнер рисуют текст разными шрифтами, поэтому эталоны снимают там же, где идёт проверка, и сравнивают с допуском.