Что такое кипарис?

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, так и для разработчика.