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

Cypress - это инструмент автоматизации для тестирования современных веб-приложений. Cypress - это бесплатный инструмент, нам не нужно покупать какую-либо лицензию, чтобы использовать его. Cypress поддерживает идеологию разработки через тестирование. В процессе разработки через тестирование мы создаем тестовые примеры во время разработки приложения. Это помогает быстро дать обратную связь команде разработчиков и укрепить доверие в команде. Он также предоставляет сервис панели инструментов, который помогает нам записывать выполнение текста. Это помогает писать быстрые, простые и надежные тестовые случаи. Помогает в письменной форме:

  1. Модульные тесты
  2. Интеграционные тесты
  3. Конечные тесты

Cypress полезен как для разработчиков, так и для команды QA. Вот почему Cypress полностью основан на JavaScript, чтобы удовлетворить потребности внешних и внутренних разработчиков.

Какие языки поддерживаются?

До сих пор он поддерживает только JavaScript.

Как установить?

Установить Cypress - простая и легкая задача. Вот шаги, чтобы установить Cypress в каталог вашего проекта:

  1. Откройте терминал командной строки в каталоге вашего проекта.
  2. Введите команду ‹npm install cypress / yarn install cypress
  3. Введите команду ‹npx cypress open
  4. Теперь каталог вашего проекта выглядит так

Как написать контрольный пример?

В Cypress существует соглашение, согласно которому контрольный пример записывается в папку интеграции. Тестовый файл называется файлом спецификации.

«Описать» используется для определения набора тестов, а «оно» используется для определения тестового примера.

Локаторы:

В Cypress «cy.get» используется для идентификаторов, классов и заголовков для захвата полей функций. Есть несколько способов написания селекторов:

  1. Использование идентификаторов

Здесь стрелки определяют иерархию тегов, присутствующих в DOM. Начиная сверху вниз.

  1. Использование класса

  1. Использование классов и идентификаторов:

Пространство между обоими селекторами показывает, что класс находится внутри Id, но мы не знаем иерархического порядка. Если между селекторами нет пробела, это означает, что они находятся на одном иерархическом уровне.

В Cypress cy.contains использует метки для захвата полей функций. Например,

Утверждения:

В Cypress Mocha - это среда тестирования JavaScript. Тесты написаны с цепочкой утверждений BDD. BDD означает разработку, управляемую поведением, что означает, что мы проверяем результат или вывод при определенных условиях.

Отчетность в Cypress?

Вы можете создать отчеты об испытаниях, используя:

  • Mochawesome (Mocha Default Reporter)
  • JUnit

Чтобы создать отчет, выполните следующие действия:

  1. Установите Mochawesome с помощью команды ‹npm install mochawesome›
  2. Запустите определенный тестовый файл с помощью команды ‹npx cypress run - reporter mochawesome - spec« path / test_file_name.spec.js »›
  3. Будет создана папка с названием «mochawesome-report».

  1. Вы можете посетить mochawesome.html, чтобы просмотреть отчет

Каковы плюсы и минусы Cypress?

Есть много причин использовать Cypress:

  • Cypress делает снимки экрана каждого шага, чтобы вы могли просмотреть каждый шаг и узнать, что именно произошло на каждом конкретном шаге.

  • Когда тест не проходит, он точно показывает трассировку ошибок стека, так что вы можете напрямую отладить ошибку. Вам не нужно бездумно искать ошибку в тестовом примере.

  • Вам не нужно вручную добавлять в тест ожидания или спящие режимы. Cypress автоматически ожидает завершения команды. Таким образом, вам не нужно использовать async.

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

  • Вы можете запускать тесты в нескольких браузерах, например в браузерах семейства Firefox и Chrome, включая electronic и edge. Все браузеры, кроме электронных, должны быть установлены локально, чтобы Cypress мог автоматически определять браузер.

У Cypress есть некоторые ограничения:

  • Cypress не поддерживает никаких языков программирования, кроме JavaScript. Итак, чтобы использовать Cypress, вам нужно изучить JavaScript.
  • Cypress - не идеальный вариант для кроссбраузерного тестирования. До 2020 года Cypress поддерживал только браузер семейства Chrome, но теперь он также поддерживает Firefox и Edge. На данный момент он не поддерживает IE, Opera или Safari.
  • Cypress не поддерживает несколько вкладок.

CI / CD IN CYPRESS?

Первое, что нужно понять, это что такое CI или непрерывная интеграция? Это практика автоматизации интеграции изменений кода от нескольких разработчиков в один репозиторий или проект. Тесты или сборки проверяются на предмет изменений, если тест не проходит, CI блокирует изменения кода для интеграции в основной код.

Когда добавляется новая функция, или выполняется запрос на слияние, или ошибка исправляется в тесте, запущенном CI, это дает уверенность в том, что приложение не разбилось. Если какой-либо из тестов не проходит, ошибки регистрируются, чтобы мы могли легко отладить ошибку. Если все тесты пройдены, вы можете объединить код в основной ветке.

Вы можете тянуть запросы, а затем объединять изменения.

Вы можете использовать панели управления Cypress, чтобы увидеть шаги теста:

  1. Перейдите на dashboard.cypress.io
  2. Создайте свой профиль
  3. Создайте проект и выберите конкретный инструмент CI.

  1. Эта страница появится

2. Вставьте идентификатор проекта в файл Cypress.json.

3. Перейдите в GitHub Actions Settings ›Secret› New Repository Secret ›type Name› вставьте идентификатор ключа записи в текстовое поле значения ›нажмите кнопку« Добавить секрет ».

4. Затем внесите следующие изменения в файл «YML», находящийся в папке Github Workflow в вашей локальной настройке.

5. На панели управления вы можете увидеть все тестовые случаи.

6. В случае сбоя конвейера на панели инструментов отображается ошибка:

Вы можете посмотреть этот плейлист, чтобы лучше понять, что можно зайти сюда.

ЗАКЛЮЧЕНИЕ:

Cypress - отличный инструмент для автоматизации. У него есть большое сообщество, которое поможет вам, когда вам понадобится какая-либо проблема. Cypress упрощает отладку, поскольку сообщает, где произошла ошибка. Cypress обеспечивает быстрый и лучший пользовательский интерфейс во время тестирования. Инструментальная панель очень помогает, хотя она не удобна для проектов, которые включают тестирование с несколькими браузерами, потому что она поддерживает только несколько браузеров.

ССЫЛКИ:

Https://docs.cypress.io/guides/continuous-integration/github-actions#Cypress-GitHub-Action

Https://www.tutorialspoint.com/what-is-cypress-for-test-automation

Https://www.velotio.com/engineering-blog/full-stack-qa-testing-using-cypress

Https://blog.testlodge.com/tdd-vs-bdd/

Https://docs.cypress.io/guides/dashboard/introduction#See-test-run-results

Https://www.habilelabs.io/wp-content/uploads/2020/02/Automation-Using-Cypress-End-to-End-Testing-Tool.jpg