Потому что глаза не лгут — визуальное тестирование с помощью Applitools Eyes
Опубликовано: 2021-08-17Регрессионное тестирование гарантирует, что любые изменения, внесенные в программное обеспечение, не нарушат ничего из того, что раньше работало хорошо. Визуальное регрессионное тестирование гарантирует, что какие-либо проблемы с графическим интерфейсом не возникнут из-за внесенных изменений. Приложение должно по-прежнему выглядеть так, как оно было до внесения изменений. Инструмент визуального регрессионного тестирования делает снимки экрана текущего пользовательского интерфейса и сравнивает их с исходными снимками экрана. Он рассматривает исторические полярности и подтверждает, что веб-страницы по-прежнему отображаются должным образом в различных браузерах даже после модификаций. Applitools Eyes — один из самых популярных инструментов визуального тестирования на рынке, основанный на собственной технологии когнитивного зрения.
Компания Applitools разработала облачный инструмент для тестирования программного обеспечения Applitools Eyes, который автоматически проверяет все визуальные аспекты любого веб-приложения, мобильного и нативного приложения. Эти проверки аналогичны тем, которые выполняет ручной тестер. Технология Applitools автоматически проверяет правильность макета, содержимого и внешнего вида пользовательского интерфейса и позволяет автоматизировать тесты, которые без нее можно выполнить только вручную. Он может тестировать приложения в любом заданном браузере, устройстве, ОС и языке программирования, с любым разрешением экрана и форм-фактором.

Обзор системы Applitools Eyes
Различные тестовые среды взаимодействуют с различными компонентами Eyes в Applitools для реализации визуального тестирования пользовательского интерфейса. Система состоит из следующих компонентов:
- Тестируемое приложение (AUT).
- Набор тестов, который запускается для AUT и проверяет его точность.
- Пакеты SDK вызываются в коде набора тестов для запуска захвата снимка экрана и визуальной проверки.
- Драйверы приложений, такие как Selenium или Appium, которые предоставляют основу для создания тестовых наборов, которые можно отправить в AUT. Он также использует их для захвата скриншотов.
- Сервер получает и сохраняет снимок экрана, отправленный из SDK. Он сравнивает их с сохраненными базовыми изображениями и сообщает о любых различиях.
- Eyes Test Manager предоставляет пользователю результаты тестирования, которые он может просмотреть, и помогает пользователю сообщать об ошибках и управлять базовыми изображениями.
Ниже приведен пример того, как компоненты взаимодействуют при выполнении теста, что позволяет группе тестирования просматривать результаты теста и управлять ими.

1 кредит
ШАГ 1: Команда тестирования запускает набор тестов. Код обычно повторяет следующие шаги для разных состояний приложения.
ШАГ 2.1: С помощью драйвера, такого как Selenium или Appium, имитируются действия пользователя, такие как щелчок мышью, ввод с клавиатуры и т. д.
ШАГ 2.2: Наряду с этим вызывается Eyes SDK API для одновременного выполнения визуальной контрольной точки.
ШАГ 2.2.a: Eyes SDK использует драйвер для создания снимка экрана.
ШАГ 2.2.b: После чего Eyes SDK отправляет собранное изображение на сервер Eyes. Здесь изображения и другие изображения контрольных точек сравниваются с базовыми изображениями, которые ранее были сохранены на сервере.
ШАГ 3: После обработки изображений в тесте сервер Eyes предоставляет информацию о любых наблюдаемых различиях. Наряду с этим предоставляется ссылка на сайт Eyes, где можно просмотреть результаты.
ШАГ 4. Команда тестировщиков использует Eyes Test Manager для просмотра результатов тестирования, обновления базовых показателей, сообщения об ошибках и аннотирования областей, требующих специальной обработки. После просмотра всех результатов группа тестирования сохраняет базовый уровень. Это становится основой для сравнения в следующем тестовом прогоне.
У Applitools есть SDK, которые поддерживают широкий спектр популярных веб-сред, мобильных и настольных сред автоматизации тестирования, различные инфраструктуры драйверов приложений, языки программирования и все распространенные платформы, браузеры и операционные системы. Эти SDK не взаимодействуют напрямую с AUT, поэтому Eyes полностью независим от того, как приложение реализовано и развернуто.

Совместимость Applitools Eyes
В Applitools есть SDK для всех популярных языков программирования и средства запуска тестов, обеспечивающие полное покрытие тестами для Интернета, мобильных устройств, настольных компьютеров, PDF, ТВ-ОС, IoT, изображений и многого другого.
веб-пакеты SDK
WEB SDK поддерживают все основные инструменты и программы веб-тестирования:
- Selenium для -Java, JavaScript, C#, Ruby, PHP, Python
- ВебдрайверIO4, ВебдрайверIO5, ВебдрайверIO6
- Селен IDE
- Кипарис
- Драматург (Новое дополнение)
- Кукловод (Новое дополнение)
- ТестКафе
- Сборник рассказов CSF React (новое дополнение), Сборник рассказов -React, Angular, Vue
- Ватир
- Капибара
- Транспортир (новое дополнение)
- UFT/QTP
- Бережливый CFT#, Бережливый JavaScript
- Закодированный пользовательский интерфейс
Мобильные SDK
Мобильные SDK поддерживают все основные инструменты и программы для тестирования мобильных устройств:
- Appium Native — C#, Java, JavaScript, PHP, Python, Ruby
- Appium Web — C#, Java, JavaScript, PHP, Python, Ruby
- XCUI Objective-C, XCUI Swift
- Эспрессо
- Калабаш iOS и Android
Скриншоты SDK
CLI, C#, Java, JavaScript, PHP, Ruby, XCTest Objective-C, XCTest Swift
SDK для настольных ПК
Windows UFT, закодированный пользовательский интерфейс Windows
Бескодовые инструменты
PDF-формы, IDE без кода
Диспетчер тестов в Applitools Eyes
Eyes Test Manager — это инструмент на основе браузера, который обеспечивает доступ к данным визуального тестирования пользовательского интерфейса. Это позволяет пользователям управлять результатами тестирования, базовыми показателями и другими метаданными.
Eyes Test Manager предоставляет следующие возможности:
- Доступ к результатам тестов визуального пользовательского интерфейса
- Принять или отклонить записанные различия
- Аннотировать шаги комментариями
- Добавить уровень соответствия и игнорировать регионы
- Обновить базовый план
- Просмотр и управление приложениями и именами тестов
- Просмотр и управление базовыми показателями и ветвями
- Просмотр и управление средами выполнения
- Сравните и объедините базовые ветви
- Управляйте своей учетной записью, командами и пользователями
В Eyes интегрировано множество других инструментов и концепций, которые помогают пользователю организовать тестирование и контрольные примеры. Одним из таких инструментов является Baseline. Протокол визуальной проверки сравнивает захваченные изображения с теми, которые были сохранены в базовом состоянии от предыдущего запуска теста. Каждый тестовый прогон может выглядеть по-разному. Глаза имеют много базовых линий на тест, где каждая базовая линия представляет собой выбранную среду. Каждая из этих базовых линий может хранить серию ссылок на изображения.
Когда выполняется визуальный тест, приложение проходит через последовательность состояний приложения, и для каждого состояния выполняется контрольная точка, которая фиксирует изображение приложения для этого состояния. Глаза сравнивают серию захваченных изображений с серией эталонных изображений, хранящихся в базовой линии этого теста, и сообщают о любых существенных различиях. Изображение в пределах базового уровня зависит от тестовых прогонов, но они также могут зависеть от других факторов, таких как операционные системы, тип браузера и размер области просмотра. Эти факторы называются средой исполнения.
Окно просмотра — это визуальная область любого приложения в окне приложения. Размер области просмотра также может повлиять на макет любой страницы. Например, изменение размера браузера может изменить внешний вид отображаемого текста. Адаптивные страницы с такими элементами, как меню, могут выглядеть по-разному для разных размеров. Шрифт и размер изображения могут измениться. Примечание: область просмотра зависит от платформы.