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

Тесты разрабатываются на JavaScript и запускаются в реальных браузерах, используя протокол Selenium WebDriver. С Gemini можно работать как в командной строке, так и через графический-интерфейс gemini-gui. Gemini разработан в Яндексе и используется для регрессивного тестирования библиотек блоков и интерфейсов сервисов.

Возможности:

  • параллельный запуск тестов в различных браузерах;
  • тестирование различных состояний элемента веб-страницы;
  • игнорирование заданных областей при сравнении изображений;
  • учёт свойств box-shadow и outline при вычислении позиции и размера элемента;
  • перезапуск тестов, которые могли завершиться с ошибкой из-за проблем внешней инфраструктуры;
  • сбор статистики покрытия CSS-кода тестами.

Доклад на OdessaJS