Введение в Cypress

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

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

Особенности Cypress

Запись видео и снимков экрана. Cypress полезен для записи тестов или для создания снимков экрана при сбое при запуске из интерфейса командной строки.

Простая отладка: Cypress отображает легко читаемые ошибки и делает отладку простой и быстрой. Тесты, написанные на Cypress, легко читать и понимать.

Контроль сетевого трафика: Можно отключить контроль сетевого трафика, как ему нравится, без участия сервера.

Тесты в реальном времени. В режиме реального времени можно наблюдать за выполнением тестов по мере разработки приложения.

Установка и открытие Cypress

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

$npm install cypress --save-dev

Нам просто нужно убедиться, что мы уже запустили npm init или у нас есть папка node_modules или файл package.json в корне проекта, чтобы гарантировать, что cypress установлен. в правильном каталоге.

Или, если мы не используем node.js или npm в проекте, мы можем скачать Cypress прямо с сайта. При прямой загрузке всегда будет последняя версия. Нужно вручную разархивировать и дважды щелкнуть. Cypress будет работать без установки каких-либо зависимостей.

Если для установки использовался npm, Cypress будет установлен в каталог ./node_modules, а его двоичный исполняемый файл будет доступен из ./node_modules/.bin. Затем его можно вызвать из корня проекта одним из следующих способов:

Долгий путь с полным путем:

./node_modules/.bin/cypress open

Или ярлык с использованием npm bin:

$(npm bin)/cypress open

При открытии средства запуска тестов cypress он покажет список файлов и папок каталога, из которого мы должны запустить файл js, указанный в папке интеграции, где записаны тестовые примеры.

Тестирование автоматизации веб-интерфейса с помощью Cypress

Я пробовал кипарис, чтобы автоматизировать фронтенд для проекта, над которым я работаю. Я автоматизировал несколько тестовых случаев в моем проекте с использованием кипариса, и несколько примеров приведены ниже:

Посещение URL: Можно посетить URL, используя метод cypress cy.visit ().

Это приведет к посещению указанного URL: http://localhost/hq

Получить элемент DOM: элемент (ы) DOM можно получить с помощью селектора, используя метод cypress cy.get ().

Это получит последний элемент DOM класса .toolkit-image-container и щелкнет по нему.

Это позволит получить первый элемент из раскрывающегося списка с классом .fb-page-inner-container ›.fb-img-container и щелкнуть его.

Подтвердить, что кнопка отключена. Утверждение для элемента (ов) DOM можно выполнить с помощью метода .should ().

Это получит saveToolkitBtn и проверит, есть ли у него класс disabled.

Это будет утверждать, что введенное значение не является «ABC».

Печать сообщения. Можно распечатать сообщение в журнале команд cypress с помощью метода cy.log ().

Это напечатает сообщение в команде журнала как «Успешный вход в систему».

Каждый цикл в cypress: можно перебирать массив или объекты со свойством length, используя функцию each ().

Это будет повторяться для каждого элемента, имеющего класс .fb-page-wrapper ›.fb-page-followers, и будет печатать подписчиков в виде текста для каждого найденного элемента.

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

Это можно сделать, просто указав имя пользователя и пароль в объекте auth.

Заключение

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

Чтобы установить зависимости системы cypress на инстансе AWS EC2 (Amazon Linux AMI), вы можете обратиться к блогу, написанному моим коллегой.

Ссылки