Protractor — это end-to-end фреймворк для тестирования Angular-приложений, построенный поверх WebDriverJS. Его работа полностью основана на платформе Node.js, а установка, обновление и управление зависимостями выполняются через npm (Node Package Manager). Без корректно установленной среды Node.js дальнейшая настройка Protractor невозможна.
Node.js обеспечивает выполнение JavaScript-кода вне браузера, а npm выступает централизованным менеджером пакетов, через который распространяются сам Protractor, Selenium Server, WebDriver-бинарники и вспомогательные библиотеки.
Node.js — это серверная платформа, построенная на JavaScript-движке V8. Она предоставляет:
Для тестирования это означает быструю и стабильную работу тестов, удобную интеграцию с CI/CD и широкую экосистему готовых инструментов.
npm — стандартный менеджер пакетов для Node.js. Он решает несколько ключевых задач:
Protractor распространяется именно через npm, как и большинство инструментов тестовой экосистемы JavaScript.
Node.js выпускается в двух основных ветках:
Для тестирования и учебных проектов рекомендуется использовать LTS-версию, так как:
.msi-инсталлятораПосле завершения установки Node.js и npm добавляются в системную
переменную PATH.
.pkg-файла с nodejs.orgbrew install node
Этот способ удобен для разработчиков, так как упрощает обновление и управление версиями.
Для Linux рекомендуется использовать менеджер пакетов или nvm.
sudo apt update
sudo apt install nodejs npm
Недостаток метода — возможная установка устаревшей версии.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
После установки:
nvm install --lts
nvm use --lts
Преимущества nvm:
После установки выполняются команды:
node -v
npm -v
Они должны вернуть номера версий без ошибок. Это означает, что Node.js и npm доступны из командной строки.
npm поддерживает два уровня установки пакетов:
-g)Пример глобальной установки:
npm install -g protractor
Глобальная установка используется для CLI-инструментов, таких как Protractor, webdriver-manager и вспомогательные утилиты.
Локальная установка применяется для библиотек, используемых непосредственно в коде проекта.
При инициализации проекта создаётся файл
package.json:
npm init
Этот файл содержит:
В контексте Protractor package.json становится
центральной точкой управления тестовой инфраструктурой.
Все локально установленные пакеты помещаются в каталог
node_modules. Он может содержать тысячи файлов и не должен
храниться в системе контроля версий.
Зависимости фиксируются в:
package.jsonpackage-lock.jsonpackage-lock.json гарантирует воспроизводимость
окружения, что критично для автотестов.
npm install -g npm
nvm install --lts
nvm use --lts
Регулярное обновление позволяет избегать уязвимостей и проблем совместимости.
node: command not found Причина: Node.js не добавлен
в PATH.
Permission denied при установке глобальных пакетов Причина: права доступа в системные директории. Решение: использование nvm или корректная настройка прав.
Старые версии Node.js Причина: установка через системный пакетный менеджер без обновлений.
Protractor использует:
Ошибки на этапе установки Node.js и npm приводят к нестабильной работе тестов, проблемам с Selenium Server и невозможности запуска автотестов в CI.
Корректно настроенная среда Node.js является фундаментом для всей последующей работы с Protractor и JavaScript-тестированием.