Gemini фотографирует области экрана с элементами на странице и сравнивает их с эталонными изображениями элементов. Если изображения не совпадают, отличия между ними указываются в отчёте.
Тесты разрабатываются на JavaScript и запускаются в реальных браузерах с использованием протокола Selenium WebDriver. С Gemini можно работать как в командной строке, так и через графический-интерфейс gemini-gui. Gemini разработан в Яндексе и используется для регрессионного тестирования библиотек блоков и интерфейсов сервисов.
Возможности
- параллельный запуск тестов в различных браузерах;
- тестирование различных состояний элемента веб-страницы;
- игнорирование заданных областей при сравнении изображений;
- учёт свойств box-shadow и outline при вычислении позиции и размера элемента;
- перезапуск тестов, которые могли завершиться с ошибкой из-за проблем внешней инфраструктуры;
- сбор статистики покрытия CSS-кода тестами.