Как проверить запуск тестов в разных браузерах, например Firefox
Что проверяют
Понимаете ли вы кросс-браузерное тестирование как стратегию: какие браузеры брать, что гонять в каждом и как это автоматизировать. Следом обычно спрашивают, как вы выбирали набор браузеров и что делать с тестом, который падает только в Firefox.
Как отвечать
Начните с матрицы. Список браузеров и версий берут из аналитики продукта и требований, а не «все, что есть»: например, Chrome и Firefox двух последних версий, Safari на macOS и iOS, мобильный Chrome. Полный регресс гоняют в основном браузере, в остальных смоук и критичные сценарии.
Как это запускается в популярных инструментах:
- Selenium: браузер выносится в параметр запуска. В Python это фикстура pytest с
params=["chrome", "firefox"]или своя опция черезpytest_addoption. Начиная с Selenium 4.6 драйверы, включая geckodriver, скачивает Selenium Manager, прописывать их в PATH вручную не нужно; - Playwright: в
playwright.config.tsописываются проекты сdevices["Desktop Firefox"], один из них запускают черезnpx playwright test --project=firefox. В Python плагинpytest-playwrightпринимает--browser firefox; - Cypress:
cypress run --browser firefox; - инфраструктура: Selenium Grid или контейнеры с браузерами в CI, облачные фермы, когда нужны настоящие Safari и мобильные устройства.
Результаты удобно собирать в Allure, где у каждого прогона видно окружение и браузер.
Что реально различается и стоит хотя бы выборочно проверить глазами: вёрстка и шрифты, нативные поля даты и выбора файла, автозаполнение, скролл и фокус, поддержка свежих возможностей CSS и JavaScript.
Где спотыкаются
Прогоняют в каждом браузере весь набор. Это долго и дорого, а большинство тестов проверяет бизнес-логику, которая от браузера не зависит.
Забывают, что Playwright запускает собственные сборки браузеров. Прогон в его WebKit не равен проверке в настоящем Safari на iPhone.
Отключают тест, упавший в одном браузере, как нестабильный. Сначала его воспроизводят руками: это может быть реальный дефект, который увидят пользователи Firefox.