Please enable JavaScript.
Coggle requires JavaScript to display documents.
Тестирование веб приложений (То, в сторону чего можно посмотреть (Jest,…
Тестирование веб приложений
CodeceptJS
Плюсы
Описание тестов выглядит и читается как набор действий, которые бы мог совершить пользователь на странице.
Основан на Mocha
Может быть использован как обертка на WebDriverIO, Selenium WebDriver, ProtactorJS (для AngularJS)
Имеет понятную документацию
Минусы
Достаточно молод, поэтому не имеет такого большого функционала, как та же Mocha в связке с другими инструментами
Из-за новизны, по нему сложно найти информацию где-либо, кроме офф.сайта (ее не всегда хватает и для того, чтобы понять ошибку в написанном тесте приходится тратить немало времени)
Имеется баг с вытаскиванием данных из форм
Суть
Позволяет выполнять приемочное тестирование, создавать сценарии действий пользователя на страницах
Ссылки
Офф. сайт
Обзор
Ссылка о том, что такое
приемочное тестирование
TestCafe
Плюсы
Не требует плагинов для работы в разных браузерах
анализирует сетевой траффик и JavaScript ошибки
Быстрая установка
Имеет возможность составлять понятные для человека отчеты
Для непрерывной интеграции есть возможность использовать Travis CI
Минусы
Тесты реализующие сложные сценарии будет тяжелее поддерживать
Сложный синтаксис, но есть возможность его документировать средствами самого фреймворка (это будет отнимать дополнительное время)
Суть
Интеграционное тестирование
Возможность составлять сценарии работы пользователя со страницей и тестирование сценария
Ссылки на документацию и обзоры
Обзор (старый)
Обзор сравнение
Офф. сайт
Пример работы
тут
Не связан с Selenium
WebDriverIO
Плюсы
Основан на Selenium
Имеет понятную и обширную документацию в следствии своей популярности
Простой синтаксис
Наличие возможности использования такого шаблона проектирования как PageObject. Данный шаблон проектирования помогает инкапсулировать работу с отдельными элементами страницы, что позволяет уменьшить количество кода и его поддержку. Если, к примеру, дизайн одной из страниц изменён, то нам нужно будет переписать только соответствующий класс, описывающий эту страницу.
Возможность использования Jenkins для непрерывной интеграции
Минусы
Имеются проблемы с быстрым нахождением информации из-за существования такой программной библиотеки для управления браузерами как Selenium WebDriver (по сути это драйвер браузера) , на которой он собственно и основан
Потребуется сложная утсновка
Суть
Тестирование сценариев (Интеграционное)
Является основой для некоторых других фреймворков (например для CodeceptJs)
Ссылки
Офф. документация
Пример
Используется в сочетании с различными фреймворками, такими как Mocha, Jasmine
Mocha+Chai + Sinon
Плюсы
Использование
BDD
(Behaviour Driven Development)
Sinon предоставляет возможность использовать Test Double (заменяют один объект на другой для тестовых целей.)
Проведение асинхронного тестирования
Возможность создания "поддельного сервера", для реализации поддельных ответов на запросы AJAX (функция Sinon)
Данная связка (и компоненты по отдельности) имеют большую популярность.
Минусы
Вероятно, для сложных тестов, потребуются подключение и настройка дополнительных мелких библиотек.
Суть
Unit тестирование
Оптимальная работа достигается при связке всех троих компонентов, но, например, chai может быть заменен на другие
Аналогом может стать Jasmine 2, но в нем немного меньше функционала чем в этой связке (например нет возможности создания "поддельного сервера")
Ссылки
Офф. документация по Mocha
Пример
Пример
Офф. документация по Sinon
То, в сторону чего можно посмотреть
Jest, Enzume -
ссылка
Jasmine
Nightwatch JS
- похож на TestCafe но использует внутри себя Selenium + WebDriver. Из минусов, почему не был вынесен в одну из ветвей, решающим оказались сложность создания обычных обработчиков (типа двойного клика) и проблемы с асинхронностью
QUnit
Дополнительная информация
Немного о Selenuim WebDriver
ссылка
test
Картинка
жирный
курсив
:<3: :black_flag: