CodeceptJS — современный end2end-тест для NodeJS | OTUS

CodeceptJS — современный end2end-тест для NodeJS

CodeceptJS — фреймворк, который позволяет описывать тесты на DSL высокого уровня. При этом сами тесты будут выполняться одной из популярных библиотек на выбор тестировщика: Protractor, webdriverio, NightmareJS. Как правило, в большинстве случаев вам не придётся учить синтаксис вышеупомянутых библиотек — достаточно будет применить готовый универсальный API. Давайте рассмотрим, как выглядит простейший тест в CodeceptJS:

Screenshot_1-1801-35c926.png

CodeceptJS позволяет QA-инженеру писать линейные сценарии для тестов, для чего применяется глобальная цепочка промисов — в неё добавляют новые и новые команды. В результате CodeceptJS позволяет без проблем реализовать те же PageObjects:

Screenshot_2-1801-4ff872.png

В результате мы выполнили перенос команд из предыдущего примера в отдельно созданный класс.

Как видите, всё получилось весьма читабельно: команды описаны как действия от первого лица, а селекторы почти не перегружают код технической информацией, делая это минимально.

Как уже было сказано, в конфигурации можно без проблем выбрать движок для выполнения тестов. Если интересует стабильный webdriver API, вам подойдёт WebDriverIO, если предпочитаете Angular, включите Protractor, если желаете ускорить тесты раза так в три, отказавшись от webdriver и запуская приложение внутри Electron, обратите внимание на Nightmare.

Таким образом, CodeceptJS даёт возможность писать свои расширения, дополняя текущую функциональность. Да, придётся слегка поработать с низкоуровневым API того же webdriverio, однако если вы реализуете требуемый функционал, вы без проблем сможете применять его в своих сценариях.

Какие ещё есть плюшки в CodeceptJS: • пошаговый вывод прохождения тестов; • наличие режима интерактивной паузы; • генераторы тестов, helpers, pageobjects.

Установка

Установить CodeceptJS совсем несложно:

[sudo] npm install -g codeceptjs
codeceptjs init

Останется выбрать один из драйверов для выполнения тестов и установить пакеты для них. В этом вам поможет команда codeceptjs init, которая ещё и подскажет, как писать первый тест.

Более подробную информацию о CodeceptJS вы можете получить на курсе «Автоматизация тестирования на JavaScript» в OTUS.

Источники: • https://automated-testing.info/t/codeceptjs-priemochnoe-testirovanie-dlya-nodejs/8578/2; • https://habr.com/ru/post/319656/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто