Мы считаем, что визуальные тесты - это тесты с наименьшими усилиями и максимальной ценностью, которые вы можете написать. Дать вашей команде полную уверенность в пользовательском интерфейсе, который ваши пользователи видят и с которым взаимодействуют каждый день, бесценно - и помощь большему количеству команд раскрыть эту ценность - большая часть нашей миссии в Percy.

Чтобы сделать визуальное тестирование более доступным, в этом году мы представили наш бесплатный план (и более дешевые планы). Мы также много вложили в создание новых SDK для поддержки большего количества фреймворков веб-приложений, фреймворков сквозного тестирования, библиотек компонентов и статических сайтов.

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

Наш новейший SDK PercyScript делает именно это, облегчая, как никогда, начало работы с визуальным тестированием.

Как это работает

С PercyScript вы можете добавить визуальное тестирование ко всему, что работает в браузере, включая живые URL-адреса. Вы можете приступить к работе с PercyScript всего за несколько минут и с помощью всего нескольких строк JavaScript.

Вот полностью рабочий PercyScript:

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

PercyScript может быть настолько простым или продвинутым, насколько вы его сделаете. Он использует Google Puppeteer внизу, что означает, что PercyScript может полностью взаимодействовать с элементами, щелкая, печатая, ожидая и т. Д.

В оставшейся части этого поста мы покажем вам, как установить и настроить PercyScript с помощью примера приложения TodoMVC, но вы также можете добавить PercyScript в свое собственное приложение. Затем мы внесем некоторые визуальные изменения и проведем нашу первую визуальную проверку.

Шаг 1. Установите и настройте PercyScript

Примечание. Для этого руководства необходимы Node.js и git

Во-первых, давайте настроим наш пример приложения:

$ git clone https://github.com/percy/example-todomvc.git
$ cd example-todomvc/
$ npm install
$ npm run start

Теперь вы можете посетить http: // localhost: 8000 и самостоятельно поиграть с приложением todos.

Затем мы установим PercyScript и напишем наши первые визуальные тесты для этого приложения.

Не отключайте сервер и откройте новый терминал для запуска:

$ npm install -D @percy/script

Это добавит @percy/script в ваш package.json файл.

Затем создайте файл с именем snapshots.js и добавьте свой первый PercyScript:

Вот и все! 🎉

Следующий шаг - запустить этот PercyScript и увидеть визуальные изменения.

Шаг 2. Запустите визуальные тесты

Если вы еще этого не сделали, зарегистрируйтесь в учетной записи Percy, назовите свою организацию и создайте свой первый проект.

Примечание. После регистрации учетной записи Percy начнется 14-дневный пробный период, но по истечении этого срока вы будете переведены на наш бесплатный план, который включает 5000 бесплатных снимков каждый месяц.

Percy предназначен для работы вместе с вашими сборками CI, но в этом руководстве мы собираемся запускать PercyScript локально. Скопируйте переменную среды PERCY_TOKEN из экрана нового проекта или настроек проекта, затем запустите:

$ export PERCY_TOKEN=aaabbbcccdddeee 
$ npx percy exec —- node snapshots.js
# Or if you're using Windows:
$ set PERCY_TOKEN=aaabbbcccdddeee 
$ npx percy exec —- node snapshots.js

Примечание. Замените токен на PERCY_TOKEN, относящийся к вашему проекту.

Вы должны увидеть такой вывод:

$ npx percy exec —- node snapshots.js
[percy] created build #1: https://percy.io/test/example-todomvc/builds/1738842
[percy] percy has started.
[percy] snapshot taken: ‘TodoMVC home page’
[percy] snapshot taken: ‘TodoMVC with a new todo’
[percy] stopping percy…
[percy] waiting for 2 snapshots to complete…
[percy] done.
[percy] finalized build #1: https://percy.io/test/example-todomvc/builds/1738842

Что происходит за кадром? Percy работает, делая снимок DOM везде, где вызывается команда Percy snapshot. Затем мы воссоздаем страницу или компонент в нашей пользовательской среде рендеринга. Новые снимки сравниваются с базовыми снимками, чтобы определить, какие пиксели изменились.

Вы увидите, что поскольку это первая сборка, сравнивать ее не с чем. Он также был «автоматически одобрен», потому что фиксация была сделана на мастере, и мы предполагаем, что мастер-сборки готовы к производству.

Теперь, когда вы интегрированы и продвинули свою первую сборку, определяющую базовый уровень, давайте внесем изменения и просмотрим результат в Перси!

Шаг 3. Внесите и просмотрите визуальные изменения

Давайте создадим новую функциональную ветку и внесем визуальные изменения.

В текстовом редакторе отредактируйте index.html и сделайте текст h1 в строке 11 фиолетовым:

<h1 style="color:#9e66bf;">

Теперь снова запустите снимки:

$ npx percy exec —- node snapshots.js

Вернитесь к Перси или щелкните ссылку сборки Перси, чтобы увидеть визуальные изменения.

Вы сделали свой первый визуальный обзор!

Вы можете использовать PercyScript таким же образом с чем угодно в сети. Мы рады добавить этот новый SDK в Percy и упростить начало работы с визуальным тестированием.

Готовы интегрировать Перси в свой рабочий процесс?

Percy - это универсальное решение для визуального тестирования, которое вселяет в вашу команду уверенность в каждом визуальном изменении перед его отправкой. Узнайте больше на https://percy.io. 🕵️‍♀️