Skip to content

Latest commit

 

History

History
51 lines (31 loc) · 6.08 KB

BrowserSource.md

File metadata and controls

51 lines (31 loc) · 6.08 KB

Где взять браузер

Перед тем как начать автоматизацию через браузер, нужно определиться, какой именно браузер будет использован. Разные браузеры и разные версии одного браузера могут отличаться друг от друга скоростью, стабильностью, совместимостью с разными версиями вебдрайвера.

Ниже рассмотрим где можно взять браузер для автоматизации, и какие особенности есть у каждого подхода.

Installed

В качестве браузера для автоматизации можно использовать установленный на локальный компьютер браузер. Нужно только скачать подходящую версию драйвера.

С таким подходом потребуется позаботиться о том, чтобы на всех машинах, где будет запускаться ваш код, должен быть установлен такой же браузер.

Некоторые браузеры автоматически обновляются до последней. Из-за этого браузер может стать несовместим с текущей версией веб-драйвера. В браузере может измениться поведени/отображение в некоторых сценариях, что приведет к нестабильностям в автоматизации.

Можно попробовать отключить автообновления браузера, но это может создать неудобства при обычном использовании браузера.

Portable

Чтобы повысить стабильность локального браузера, можно использовать portable версию с отключенным атообновлением.

Portable-браузер можно хранить вне репозитория с кодом. Тогда для работы потребуется самостоятельно скачивать нужный браузер. При обновлении браузера, нужно акутализировать версию везде где он используется. Чтобы избежать рассинхронизации версий, можно добавить автоматическую проверку версии браузера после его запуска.

Portable-браузер можно хранить в репозитории с кодом. Это позволит упростить запуск, так как браузер будет поставляться вместе с кодом. Главным недостатком будет увеличение размера репозитория на ~100мб. Каждое обновление браузера так же будет увеличивать размер репозитория.

SeleniumGrid

Документация

SeleniumGrid - кроссплатформенное решение на Java, предоставляет браузер как сервис. Для взаимодействия с браузером нужно указать url до экземпляра SeleniumGrid, указать операционную систему, браузер и его версию.

Такой подход позволяет легко увеличивать мощности, добавлять новые операционные системы и браузеры.

К недостаткам можно отнести проблемы со стабильностью конкретной реализации SeleniumGrid и усложнение отладки. На стороне SeleniumGrid так же требуется установка браузеров, отключение автообновления и подбор вебдрайвера подходящей версии.

Selenoid

Документация

Selenoid - альтернатива SeleniumGrid - другая реализация, такого же подхода. Так же является кроссплатформенным решением.

Преимущества в сравнении с SeleniumGrid:

  • стабильность
  • простота инициализации
  • не требует установку Java Runtime Environment
  • возможность использовать готовые docker-образы с браузерами нужных версий, кроме Internet Explorer
  • возможность удаленного просмотра и записи видео с помощью VNC, который уже встроен в docker-образ

Outsource

Существуют сервисы, которые предоставляют браузеры разных версий на разных операционных системах. С таким подходом совсем не нужно заботиться о поддержке браузеров. Такие услуги могут быть платными и бесплатными. Можно столкнуться с нехваткой производительности или другими ограничениями.

Например, есть решение от Sauce Labs - бесплатно для opensource, но с ограничениями по мощностям, по количеству сессий и длительности сессии.