Что такое кипарис?
Cypress - это инструмент тестирования интерфейса нового поколения, созданный для современного Интернета, который позволяет вам писать все типы тестов:
· Сквозные испытания
· Интеграционные тесты
· Модульные тесты
Cypress состоит из бесплатного локально установленного Test Runner с открытым исходным кодом и службы панели инструментов для записи ваших тестов. Фреймворк построен на Mocha, а утверждения - на chai.
Настройка Cypress:
1- Cypress можно скачать:
а) Через npm
Предварительно: на компьютере должен быть установлен npm.
Ссылка: https://www.npmjs.com/get-npm
· Ссылка для скачивания: http://download.cypress.io/desktop
· Руководство по загрузке: https://docs.cypress.io/guides/getting-started/installing-cypress.html#yarn-add
2- Разархивируйте папку и запустите приложение.
3- Теперь в основной папке Cypress, куда он был извлечен, создайте пустую папку с именем вашего проекта и запустите приложение Cypress.
Средство выполнения тестов будет выглядеть так:
4- Нажмите ссылку «выбрать вручную» и просмотрите созданную вами папку, чтобы открыть ее. После открытия выбранной папки появится следующее всплывающее окно:
5. Нажмите «Хорошо, понятно!» и продолжайте. Cypress автоматически построит предложенную структуру папок. По умолчанию он создаст:
Понимание структуры папок:
Файлы фиксации
Приспособления используются как внешние части статических данных, которые могут использоваться вашими тестами. Обычно вы используете их с командой cy.fixture () и чаще всего при заглушке сетевых запросов.
Файлы интеграции
В этой папке вы должны создать свои тестовые файлы. Он предоставляет вам несколько примеров тестов в папке example. Файлы тестов могут быть записаны как:
· .js
· .Jsx
· .кофе
· .Cjsx
Файлы плагинов
По умолчанию Cypress автоматически включает файл подключаемых модулей cypress / plugins / index.js перед каждым запуском файла спецификации. Это просто удобный механизм, поэтому вам не нужно импортировать этот файл в каждый из ваших файлов спецификаций.
Файл поддержки
Файл поддержки - отличное место для размещения многоразового поведения, такого как пользовательские команды или глобальные переопределения, которые вы хотите применить и сделать доступными для всех ваших файлов спецификаций.
Написание простого теста:
Предварительно:
· Редактор кода
· Cypress установлен и запущен
Начнем с написания простого теста. Для этого вам необходимо:
· Выберите предпочтительный язык (.js / .jsx / .coffee / .cjsx)
· Редактор кода
Я использую здесь код Visual Studio и буду писать код на JavaScript.
1- Откройте тот же проект (созданный выше) и создайте новый файл в папке интеграции.
2- Напишите функцию для посещения http://todomvc.com/examples/react/#/ и сохраните.
3- Откройте проект в Cypress test runner (будет указан в разделе «Недавние проекты»), перейдите в Образец проекта - ›Интеграции -› Testing.js и щелкните по нему, чтобы запустить файл.
4- Тест будет успешно запущен, открыв желаемый URL-адрес в предварительном просмотре. Теперь добавьте в код несколько простых утверждений.
Осмотрите текстовое поле на месте, чтобы просмотреть элементы. Теперь добавьте утверждение, которое будет истинно, а одно - ложным.
Утверждение верно: текстовое поле имеет класс ‘new-todo’
Утверждение false: в текстовое поле добавлены некоторые элементы списка.
5- Сохраните код. Теперь вам не нужно повторно запускать средство запуска тестов Cypress. Он автоматически запустит файл, как только будет обнаружено изменение.
Cypress предлагает множество утверждений BDD и TDD наряду с некоторыми простыми стандартными утверждениями. Итак, есть над чем поиграть!
Заключение:
Подводя итог, можно сказать, что Cypress - это мир, который нужно исследовать. С Cypress вы получаете несколько инструментов в одном. Нет необходимости устанавливать 10 отдельных инструментов и библиотек для настройки вашего набора тестов. Архитектура совершенно другая. У Cypress есть собственный доступ ко всему, и он не нестабилен.
Кроме того:
- Позволяет связывать команды, следовательно, упрощает кодирование и обеспечивает эффективность во время выполнения
- Заглушка вызовов BE для сквозного потока.
- Заполнение базы данных
Интересно то, что он одинаково эффективен как для QA, так и для разработчика.