Сегодня мы рады анонсировать Chrome для тестирования — новую версию Chrome, специально предназначенную для тестирования и автоматизации веб-приложений. В этой статье объясняется, почему команда Chrome сочла это необходимым, и приводятся конкретные примеры, где Chrome для тестирования может принести пользу вам как разработчику.
Фон
Тестирование браузера — жизненно важный компонент создания высококачественного веб-интерфейса, независимо от того, выполняется ли оно вручную или автоматически. В то же время, создание адекватной среды тестирования браузера является настолько сложной задачей, что ее постоянно называют основной болевой точкой веб-разработчиков. Сегодня мы объявляем об изменении, которое, мы надеемся, отчасти облегчит эту боль.
Автообновление: отлично для пользователей, болезненно для разработчиков
Одной из наиболее примечательных особенностей Chrome является возможность автоматического обновления. Пользователи рады узнать, что они постоянно используют актуальную и безопасную версию браузера, включающую современные функции веб-платформы, функции браузера и исправления ошибок.
Однако, как разработчик , выполняющий набор комплексных тестов, у вас может быть совершенно иная точка зрения:
- Вам нужны последовательные, воспроизводимые результаты при повторных запусках тестов, но этого может не произойти, если исполняемый или двоичный файл браузера решит обновиться между двумя запусками.
- Вы хотите закрепить конкретную версию браузера и проверить этот номер версии в своем репозитории исходного кода, чтобы вы могли проверить старые коммиты и ветки и повторно запустить тесты для двоичного файла браузера с этого момента.
Ничего из этого невозможно с автоматически обновляемым двоичным файлом браузера. В результате вы, возможно, не захотите использовать обычную установку Chrome для автоматического тестирования. Это фундаментальное несоответствие между тем, что хорошо для обычных пользователей браузера, и тем, что хорошо для разработчиков, выполняющих автоматическое тестирование.
Версионные двоичные файлы браузера
Помимо автоматического обновления, вам также может быть сложно найти двоичный файл Chrome с определенной версией. Google намеренно не предоставляет версии для загрузки Chrome, поскольку пользователям не нужно беспокоиться о номерах версий — они всегда должны обновляться до последней версии как можно скорее. Это отлично подходит для пользователей, но болезненно для разработчиков, которым необходимо воспроизвести отчет об ошибке в более старой версии Chrome.
Более конкретный пример этой проблемы — когда вы хотите использовать ChromeDriver для автоматизации браузера. Вам не только нужно каким-то образом загрузить двоичный файл Chrome, вам также понадобится двоичный файл ChromeDriver с соответствующей версией, чтобы обеспечить совместимость двух двоичных файлов.
Поскольку хорошего способа решения этих проблем не существует, мы знаем, что многие разработчики вместо этого загружают двоичные файлы Chromium (не Chrome) , хотя у этого подхода есть некоторые недостатки. Во-первых, эти двоичные файлы Chromium не всегда доступны на всех платформах. Во-вторых, они создаются и публикуются отдельно от процесса выпуска Chrome, что делает невозможным сопоставление их версий с реальными выпусками Chrome, предназначенными для пользователей. В-третьих, Chromium отличается от Chrome.
Решение: Chrome для тестирования
Разработанный для решения этих проблем, Chrome для тестирования представляет собой специальную версию Chrome, ориентированную на вариант использования для тестирования, без автоматического обновления, интегрированную в процесс выпуска Chrome и доступную для каждой версии Chrome. Версионный двоичный файл, максимально приближенный к обычному Chrome, но не оказывающий негативного влияния на вариант использования при тестировании.
Чтобы создать Chrome для тестирования, мы внесли изменения в кодовые базы Chromium и Chrome и настроили инфраструктуру для создания и загрузки этих двоичных файлов в общедоступную корзину в ногу с процессом выпуска Chrome по всем каналам (стабильная версия, бета-версия, версия для разработчиков и версия Chrome). Канарейка).
Инфраструктура вокруг Chrome для тестирования открывает интересные возможности, выходящие за рамки самого Chrome. Например, трудности, которые мы ранее упоминали при поиске соответствующего двоичного файла Chrome и ChromeDriver , можно полностью устранить путем интеграции процесса выпуска ChromeDriver в инфраструктуру Chrome для тестирования . Помимо решения этой проблемы, с которой сталкивается пользователь, это также приводит в соответствие выпуски ChromeDriver с версиями Chrome и устраняет необходимость ручного процесса выпуска ChromeDriver.
Как я могу получить двоичные файлы Chrome для тестирования?
Самый простой способ загрузить двоичные файлы Chrome для тестирования для вашей платформы — использовать нашу утилиту командной строки @puppeteer/browsers
, доступную через npm
. Вот несколько примеров:
# Download the latest available Chrome for Testing binary corresponding to the Stable channel.
npx @puppeteer/browsers install chrome@stable
# Download a specific Chrome for Testing version.
npx @puppeteer/browsers install chrome@116.0.5793.0
# Download the latest available ChromeDriver version corresponding to the Canary channel.
npx @puppeteer/browsers install chromedriver@canary
# Download a specific ChromeDriver version.
npx @puppeteer/browsers install chromedriver@116.0.5793.0
Если вы предпочитаете создавать свои собственные автоматизированные сценарии для загрузки этих двоичных файлов, мы вам поможем. Мы предлагаем конечные точки JSON API с последними доступными версиями для каждого канала выпуска Chrome (Stable, Beta, Dev, Canary). Чтобы получить краткий обзор последнего статуса, обратитесь к информационной панели доступности Chrome для тестирования .