Спрос на модернизированные решения для автоматизации резко возрос в связи с необходимостью производить продукцию быстрее для выхода на рынок. Одной из причин является разработка обновленных веб-приложений с использованием таких фреймворков, как React, Angular, Vue и других. Cypress — одно из таких решений, которое пытается решить основные проблемы, с которыми сталкиваются современные онлайн-приложения.
Cypress — это среда сквозного тестирования на основе JavaScript, основанная на Mocha, многофункциональной среде тестирования JavaScript, которая упрощает асинхронное тестирование и работает в браузере и в нем. Для подключения к любой среде тестирования JavaScript он использует браузер и библиотеку утверждений BDD/TDD.
Два из них были созданы специально для платформы Cypress:
Cypress ожидает появления элементов, завершения анимации, загрузки DOM, завершения вызовов XHR и AJAX и так далее. В результате не требуются ни неявные, ни явные ожидания.
Cypress достаточно умен, чтобы понять, что после сохранения тестового файла (xyz spec.js) тестер снова запустит его. В результате, как только тестер сохраняет свой файл, запуск начинается вместе с браузером. В результате нет необходимости запускать прогон вручную.
Возможности Cypress Framework
- Он ожидает автоматического запуска тестовой команды, а затем делает утверждения, прежде чем перейти к следующему набору инструкций для запуска.
- Он делает снимки экрана во время выполнения тестовых случаев, чтобы облегчить отладку.
- Он поддерживает интерактивное выполнение тестов с помощью Test Runner и журналов, что упрощает отладку выполнения тестов.
- Он обеспечивает клиентам более быстрое и точное выполнение тестов из-за архитектурных отличий от других сред тестирования.
Компоненты Cypress Framework
- Во время выполнения определенных тестовых случаев используются следующие компоненты:
- Блоки It() — это место, где начинается выполнение теста в файле спецификаций. Каждый спецификационный файл имеет один блок описания, который содержит различные блоки it.
- Файл объекта страницы. В этом файле перечислены методы, составляющие бизнес-логику тестов. Фактические команды Cypress для взаимодействия с реальной программой содержатся в этих методах.
- Фактические локаторы элементов пользовательского интерфейса в реальном приложении хранятся в файле выбора страницы.
- Файл констант. Этот файл используется для хранения любых констант, используемых в тестовых файлах.
Преимущества Cypress Framework
- Тесты можно создавать и запускать быстро и легко.
- По сравнению с другими фреймворками написание тестов занимает меньше времени.
- Его можно использовать с любым инструментом CI, имеющим параметры командной строки для безголового выполнения.
- В случае сбоя теста он автоматически делает скриншоты выполнения теста. Это полезно для диагностики и устранения проблем.
- После внесения изменений в тест Test Runner автоматически перезагрузится.
Как запустить свой первый тест Cypress на примере?
Начните с проекта, к которому уже прикреплен пакет. Давайте добавим Cypress в этот проект, выполнив NPM install Cypress и указав безопасный флаг dev, чтобы объявить Cypress зависимостью dev в файле json. Локальная установка Cypress позволяет нам поддерживать версию Cypress на уровне проекта, но если вы просто хотите сразу приступить к работе или не хотите добавлять зависимости NPM в свой проект, мы предлагаем вариант прямой загрузки, который позволяет вам получить запустился сразу без необходимости NPM. Мы получили инструкции от Cypress о том, как его открыть. Начнем с ввода node modules\bin\Cypress space open .
Когда он откроется, мы увидим, что Cypress помог нам, заполнив наш проект некоторыми каталогами и примерами файлов. Мы можем отклонить это сообщение, нажав кнопку «ОК», но обратите внимание, что теперь в интеграционных тестах указан только один файл. Давайте пока оставим пример спецификации, откроем проект в нашем любимом редакторе и создадим новый файл с интеграцией Cypress, который называется Sample Underscore spec. Когда этот файл будет сгенерирован, Cypress подхватит его, и он появится в нашем списке интеграционных тестов.
Теперь мы можем просто выбрать наш новый файл из списка и запустить его в тесте Cypress. Мы начнем с блока описания, потому что писец помогает нам оставаться организованными, группируя связанные тесты вместе. Мы просто назовем это моим первым тестом в описании. Мы добавим наш первый тест с функцией it, которая описывает, что делает наш тест, что в данном случае ничем не является.
Затем мы добавим утверждение в наш тест. Мы не будем усложнять и просто утверждаем, что мы ожидаем, что true равно true. Этот синтаксис может показаться вам знакомым, потому что Cyphers поставляется в комплекте с некоторыми популярными инструментами и платформами. Здесь мы используем описание и его функции, предоставляемые mocha, а функция expect взята из библиотеки утверждений chai. После написания первого теста давайте сохраним этот файл и посмотрим, как Кипр заработает.
Посетите TechGig: https://bit.ly/3ijY5Gt