51
Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Embed Size (px)

Citation preview

Page 1: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Page 2: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Коротко о себе

Дарья Кисель

QA Automation Engineer ISsoft / Coherent Solutions

https://comaqa.bycsi.dariakisel

Меня зовут:

Кем работаю:

Skype:

Page 3: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

О чём речь• Что, как и зачем автоматизировать в визуальном

тестировании

• Applitools Eyes SDK. Объект Eyes в Java тестах

• Как избежать ложных несоответствий изображений

• Что делать с приложением, если его дизайн слишком «отзывчивый»

• Galen Framework. Пишем спецификацию к дизайну

• Интеграция фреймворка с Java тестами

• Выводы

Page 4: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Немного теорииВизуальное тестирование (aka тестирование визуальных регрессий)– это акт проверки того, что графический интерфейсприложения корректно отображается для пользователя

Особенности• это НЕ функциональное тестирование

• это регрессионное тестирование

• это тестирование с точки зрения конечного пользователя

Цель: найти расхождения с эталоном, ошибки рендеринга страниц, шрифтов, изображений

Page 5: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Что мы на самом деле тестируем ?

Page 6: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Что мы на самом деле тестируем ?

Page 7: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

• Замена множества ассертов одной визуальной проверкой

• Тестирование динамического контента

• Кроссбраузерность

• Кроссплатформенность

• Наглядный репортинг

• Тестирование в процессе CI

Что важно при выборе инструмента ?

Page 8: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

APPLITOOLS EYES

Облачный сервис, выполняющий визуальные валидации:

проверки GUI, сравнение с эталонным изображением

Web, Mobile и Native приложений

Visual Regression Testing Tool

Платный инструмент

• Selenium-Java SDK

+• Web-interface

Page 9: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

APPLITOOLS EYES SDK

• Selenium, Appium(Java, .Net, Ruby, Python, JS), Microsoft

Coded UI, HP UTF

Page 10: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Принцип работы инструмента

• Сделать скриншот при прохождении теста

• Сравнить полученный скриншот с baseline image

• Сделать отчет о несовпадениях изображений

• Обновить baseline, если необходимо

Page 11: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Рассмотрим один пример «отзывчивого» дизайна

Page 12: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Объект Eyes в Java тестах

• Eyes object

• API key

• WebDriver

Page 13: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Объект Eyes в Java тестах

• Группы тестов

• Скриншот целой страницы в Chrome и Safari

Page 14: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Примеры тестов

Page 15: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Отчёты о прохождении тестов

Page 16: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Отчёт о несовпадениях

Page 17: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Отчёт о несовпадениях

Page 18: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Решение проблем динамического контента

Изменение способа сравнения:

• mismatch tolerance

• ignored region

• floating region

Page 19: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Решение проблем динамического контента

Изменение способа сравнения:

• mismatch tolerance

• ignored region

• floating region

Page 20: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Решение проблем динамического контентаMismatch tolerance

Page 21: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Решение проблем динамического контентаFloating region

Page 22: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Решение проблем динамического контентаIgnored region

Page 23: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Решение проблем динамического контентаIgnored region

Page 24: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Galen Framework

• Изначально создан для тестирования адаптивного дизайна

• Написание тестов на Java и JS. Использует gspec файлы.

• Работает c Selenium Grid, Sauce Labs, BrowserStack

• Репортинг: HTML, TestNG ( e.g для добавления в CI)

Page 25: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Вспомогательные схемы

Desktop

[ 1211 – max ] px

Page 26: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Laptop [ 779 – 1210 ] px

Вспомогательные схемы

Page 27: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Tablet [ 778 – 491 ] px

Вспомогательные схемы

Page 28: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Mobile [ 490px – min ] px

Вспомогательные схемы

Page 29: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Пишем спецификацию gspecОписание элементов

Page 30: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Выделяем общее и частное

Page 31: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Выделяем общее и частное

Page 32: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Выделяем общее и частное

Page 33: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Применяем циклы

Page 34: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Применяем циклы

Page 35: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Компоненты

Page 36: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Компоненты

• text contains

• text starts 

• text ends 

• text matches 

Page 37: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Применяем в Java тестах

• getReport

• load 

• inject

• resize

• checkLayout

Page 38: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Применяем в Java тестах

Page 39: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Тестируем в рандомных разрешениях

Page 40: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Тестируем в рандомных разрешениях

Page 41: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Как выглядят репорты

Page 42: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Как выглядят репорты

Page 43: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Как выглядят репорты

Page 44: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Как выглядят репорты

Page 45: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Как выглядят репорты

Page 46: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Сравнение изображений

Page 47: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Сравнение изображений

Page 48: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Сравнение изображений

• analyze-offset • contrast • denoise  • quantinize  

Page 49: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Сравнение изображений

• analyze-offset • contrast • denoise  • quantinize  

Page 50: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Выводы

• Довольно низкий порог вхождения

• Требует небольшие навыки автоматизации и языков программирования

• Скорость, удобный интерактивный API

• Невозможность тестирования случайных разрешений экрана

• Полное покрытие

проверками адаптивных блоков страниц

• Долгое составление spec файлов

• Необходимо уметь работать с локаторами элементов

• Нужны навыки работы с Java и/или JS

Applitools Eyes Galen Framework

Page 51: Автоматизация визуального тестирования адаптивного дизайна на примере Galen Framework и Applitools Eyes

Спасибо за внимание

Кисель ДарьяISSoft / Coherent Solutions

www.comaqa.by