Skip to content

obmihail/pedant-tools

Repository files navigation

Описание

Pedant - это многофункциональный кроссплатформенный инструмент для тестирования интерфейсов и функциональности веб-приложений. С его помощью можно решать такие задачи как:

  • быстрое сравнение внешнего вида веб-интерфейсов (снятых скриншотов с одобренной версией) в различных браузерах. Для снятия скриншота используется соединение с реальным браузером через JSONWireProtocol (модуль selenium). Сравнение выполняется параллельно и автоматически, поэтому занимает гораздо меньше времени, нежели проверка при помощи человека. Это очень удобно в ситуациях когда нужно провести срочную поверхностную проверку работоспособности приложения. Педант позволяет сделать это для нового проекта за считанные минуты.
  • просмотр отчетов о сравнении и управление скриншотами. Независимо от того как был осуществлен запуск (из консоли, из веб интерфейса) в системе отображаются отчеты о запуске. Можно просмотреть расхождения между скриншотами или просто увидеть как выглядит ваша страница в разных браузерах.
  • BDD сборка с отчетами, скриншотами и управление их состоянием (для BDD используется behave). В отличие от оригинального использования behave - pedant позволяет запускать параллельно фичи, либо сценарии. Это значительно ускоряет работу. Кроме того имеется возможность снимать скриншоты после каждого шага и выполнять их сравнение в эталонной версией.

Типовые задачи для инструмента:

  • Регрессионное тестирование приложения (проверка "что ничего не поломалось" в результате действий над приложением)
  • Регрессионное тестирование веб-интерфейса
  • Просмотр веб-интерфейсов в различных браузерах
  • Экспресс-проверка сайта или автоматизация за считанные минуты (нужно установить педант -1.5 минуты, завести проект - 1 минута и запустить phantomJS - 2 минуты). Дальше можно уже выполнять первые проверки

Установка:

Системные требования

Для работы системы необходимо установить: python 2.7, pip и python-dev В Ubuntu достаточно выполнить команды:

sudo apt-get install python python-pip python-dev

В Windows необходимо скачать и установить последнюю версию python 2.7 (http://docs.python-guide.org/en/latest/starting/install/win/). На текуший момент установщик включает в себя python и pip, поэтому скачать необходимо только его. Во время установки не забудьте установить опцию “Add python.exe to system path”

Установка pedant в linux

Склонировать репозиторий <ссылка> и запустить скрипт linux-install.sh

Установка pedant в mac os

Склонировать репозиторий <ссылка> и запустить скрипт linux-install.sh

Установка pedant в windows

Склонировать репозиторий <ссылка> и запустить скрипт win-install.bat

Запуск:

веб-сервер

Linux\MacOS: сделать файл исполняемым и запустить: ./bin/pedant-server
Windows: запустить через python: python bin/pedant-server
Аргументы для запуска:
    --host Имя хоста, не обязательный, по умолчанию localhost
    --port Номер порта, не обязательный, по умолчанию 8081

консольная утилита для запуска сравнения скриншотов

Linux\MacOS: сделать файл исполняемым и запустить: ./bin/pedant-screens
Windows: запустить через python: python.exe bin/pedant-screens
Аргументы для запуска:
    --mode Использование заранее определенного набора браузеров и состояний страниц (задается в конфиге)
    --no-logging Отключить логирование, не рекомендуется
    --verbose Включение детального вывода
    --threads Максимально допустимое количество потоков
    --browsers Список идентификаторов браузеров, в которых необходимо провести проверку
    --states Список идентификаторов состояний, к которым нужно приводить страницы
    --no-diffs Отключение генерации отличий между скриншотами
    --info Вывод информации о текущем проекте

консольная утилита для запуска bdd сценариев

Linux\MacOS: сделать файл исполняемым и запустить: ./bin/pedant-bdd
Windows: запустить через python: python.exe bin/pedant-bdd
Аргументы для запуска:
    --threads Максимально допустимое количество потоков
    --browsers Список идентификаторов браузеров, в которых необходимо запускать сценарии
    --features Список фич, которые необходимо проверить
    --scenarios Список сценариев, которые необходимо проверить
    --steps Список шагов, которые необходимо выполнить
    --no-logging Отключение логирования, не рекомендуется
    --verbose Включение детального вывода
    --path Путь до директории с фичами или до конкретного файла с фичей