Что такое кипарис?
Cypress - это инструмент автоматизации для тестирования современных веб-приложений. Cypress - это бесплатный инструмент, нам не нужно покупать какую-либо лицензию, чтобы использовать его. Cypress поддерживает идеологию разработки через тестирование. В процессе разработки через тестирование мы создаем тестовые примеры во время разработки приложения. Это помогает быстро дать обратную связь команде разработчиков и укрепить доверие в команде. Он также предоставляет сервис панели инструментов, который помогает нам записывать выполнение текста. Это помогает писать быстрые, простые и надежные тестовые случаи. Помогает в письменной форме:
- Модульные тесты
- Интеграционные тесты
- Конечные тесты
Cypress полезен как для разработчиков, так и для команды QA. Вот почему Cypress полностью основан на JavaScript, чтобы удовлетворить потребности внешних и внутренних разработчиков.
Какие языки поддерживаются?
До сих пор он поддерживает только JavaScript.
Как установить?
Установить Cypress - простая и легкая задача. Вот шаги, чтобы установить Cypress в каталог вашего проекта:
- Откройте терминал командной строки в каталоге вашего проекта.
- Введите команду ‹npm install cypress / yarn install cypress›
- Введите команду ‹npx cypress open›
- Теперь каталог вашего проекта выглядит так
Как написать контрольный пример?
В Cypress существует соглашение, согласно которому контрольный пример записывается в папку интеграции. Тестовый файл называется файлом спецификации.
«Описать» используется для определения набора тестов, а «оно» используется для определения тестового примера.
Локаторы:
В Cypress «cy.get» используется для идентификаторов, классов и заголовков для захвата полей функций. Есть несколько способов написания селекторов:
- Использование идентификаторов
Здесь стрелки определяют иерархию тегов, присутствующих в DOM. Начиная сверху вниз.
- Использование класса
- Использование классов и идентификаторов:
Пространство между обоими селекторами показывает, что класс находится внутри Id, но мы не знаем иерархического порядка. Если между селекторами нет пробела, это означает, что они находятся на одном иерархическом уровне.
В Cypress cy.contains использует метки для захвата полей функций. Например,
Утверждения:
В Cypress Mocha - это среда тестирования JavaScript. Тесты написаны с цепочкой утверждений BDD. BDD означает разработку, управляемую поведением, что означает, что мы проверяем результат или вывод при определенных условиях.
Отчетность в Cypress?
Вы можете создать отчеты об испытаниях, используя:
- Mochawesome (Mocha Default Reporter)
- JUnit
Чтобы создать отчет, выполните следующие действия:
- Установите Mochawesome с помощью команды ‹npm install mochawesome›
- Запустите определенный тестовый файл с помощью команды ‹npx cypress run - reporter mochawesome - spec« path / test_file_name.spec.js »›
- Будет создана папка с названием «mochawesome-report».
- Вы можете посетить mochawesome.html, чтобы просмотреть отчет
Каковы плюсы и минусы Cypress?
Есть много причин использовать Cypress:
- Cypress делает снимки экрана каждого шага, чтобы вы могли просмотреть каждый шаг и узнать, что именно произошло на каждом конкретном шаге.
- Когда тест не проходит, он точно показывает трассировку ошибок стека, так что вы можете напрямую отладить ошибку. Вам не нужно бездумно искать ошибку в тестовом примере.
- Вам не нужно вручную добавлять в тест ожидания или спящие режимы. Cypress автоматически ожидает завершения команды. Таким образом, вам не нужно использовать async.
- Вы можете просматривать видео, созданные автоматически, когда набор тестов запускается из интерфейса командной строки.
- Вы можете запускать тесты в нескольких браузерах, например в браузерах семейства Firefox и Chrome, включая electronic и edge. Все браузеры, кроме электронных, должны быть установлены локально, чтобы Cypress мог автоматически определять браузер.
- Для Cypress доступна отличная документация. Https://docs.cypress.io
У Cypress есть некоторые ограничения:
- Cypress не поддерживает никаких языков программирования, кроме JavaScript. Итак, чтобы использовать Cypress, вам нужно изучить JavaScript.
- Cypress - не идеальный вариант для кроссбраузерного тестирования. До 2020 года Cypress поддерживал только браузер семейства Chrome, но теперь он также поддерживает Firefox и Edge. На данный момент он не поддерживает IE, Opera или Safari.
- Cypress не поддерживает несколько вкладок.
CI / CD IN CYPRESS?
Первое, что нужно понять, это что такое CI или непрерывная интеграция? Это практика автоматизации интеграции изменений кода от нескольких разработчиков в один репозиторий или проект. Тесты или сборки проверяются на предмет изменений, если тест не проходит, CI блокирует изменения кода для интеграции в основной код.
Когда добавляется новая функция, или выполняется запрос на слияние, или ошибка исправляется в тесте, запущенном CI, это дает уверенность в том, что приложение не разбилось. Если какой-либо из тестов не проходит, ошибки регистрируются, чтобы мы могли легко отладить ошибку. Если все тесты пройдены, вы можете объединить код в основной ветке.
Вы можете тянуть запросы, а затем объединять изменения.
Вы можете использовать панели управления Cypress, чтобы увидеть шаги теста:
- Перейдите на dashboard.cypress.io
- Создайте свой профиль
- Создайте проект и выберите конкретный инструмент CI.
- Эта страница появится
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://docs.cypress.io/guides/dashboard/introduction#See-test-run-results