Проверка корректности установки Protractor необходима для подтверждения работоспособности всей цепочки: Node.js → npm → Protractor → Selenium Server → WebDriver браузера → тестовый фреймворк. На этом этапе выявляются проблемы окружения, версий зависимостей и конфигурации до начала написания и выполнения реальных тестов.
Корректная работа Protractor зависит от установленной версии Node.js и менеджера пакетов npm.
node -v
npm -v
Вывод версий должен соответствовать диапазону, поддерживаемому используемой версией Protractor. Несовместимость Node.js часто приводит к ошибкам установки зависимостей или некорректной работе webdriver-manager.
После установки через npm (глобально или локально) необходимо убедиться, что бинарный файл доступен системе.
protractor --version
Ожидается вывод версии Protractor и связанных компонентов, например:
Version 7.0.0
Отсутствие команды или ошибка command not found
указывает на проблемы с путями или установкой пакета.
Protractor использует webdriver-manager для управления Selenium Server и драйверами браузеров.
webdriver-manager --version
Корректный вывод подтверждает успешную установку.
webdriver-manager update
В процессе загрузки должны быть получены:
Ошибки на этом этапе обычно связаны с отсутствием доступа к сети или конфликтами прав файловой системы.
Перед выполнением тестов Selenium Server должен корректно запускаться.
webdriver-manager start
При успешном запуске в консоли отображаются сообщения вида:
Selenium Server is up and running on port 4444
Дополнительно может быть проверена доступность сервера через браузер:
http://localhost:4444/wd/hub
Отсутствие ответа или ошибки указывают на проблемы с портами или Java Runtime Environment.
Минимальный конфигурационный файл (protractor.conf.js)
используется для валидации базовой настройки.
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['spec.js'],
framework: 'jasmine',
capabilities: {
browserName: 'chrome'
}
};
Ошибки синтаксиса или некорректные параметры приводят к немедленному завершению Protractor с сообщениями об ошибках при запуске.
Protractor поддерживает Jasmine, Mocha и Cucumber. На этапе проверки установки чаще всего используется Jasmine.
Наличие Jasmine подтверждается отсутствием ошибок вида:
Failed: Cannot find module 'jasmine'
При использовании Mocha или Cucumber аналогично проверяется корректность подключения соответствующих пакетов.
Для финальной проверки создаётся простой тестовый файл.
describe('Protractor installation check', function () {
it('should open AngularJS homepage', function () {
browser.get('https://angularjs.org/');
expect(browser.getTitle()).toContain('AngularJS');
});
});
Запуск осуществляется командой:
protractor protractor.conf.js
Корректная установка подтверждается:
Одной из ключевых особенностей Protractor является автоматическая синхронизация с Angular-приложениями.
При тестировании не-Angular страниц необходимо явно отключать синхронизацию:
browser.waitForAngularEnabled(false);
Если при запуске тестов наблюдаются зависания на
Waiting for Angular, это свидетельствует о неправильной
идентификации типа приложения или ошибке конфигурации.
Для Chrome используется ChromeDriver, версия которого должна соответствовать установленной версии браузера.
Типичные ошибки:
session not createdThis version of ChromeDriver only supports Chrome version XРешение заключается в обновлении драйвера через
webdriver-manager update или ручной настройке версии.
В некоторых системах требуется корректная настройка переменных окружения:
JAVA_HOME для Selenium ServerPATH для Node.js и npmНекорректные значения приводят к ошибкам запуска webdriver-manager или Selenium.
Особенности могут различаться:
Для headless-режима Chrome используется конфигурация:
capabilities: {
browserName: 'chrome',
chromeOptions: {
args: ['--headless', '--disable-gpu']
}
}
Ошибка: Cannot find Selenium Server jar
Причина: webdriver-manager update не был выполнен
Ошибка: EADDRINUSE
Причина: порт 4444 уже используется другим
процессом
Ошибка:
Error: Cannot find module 'protractor'
Причина: локальная установка без корректного вызова
через npx
Для углублённой диагностики используется параметр:
protractor protractor.conf.js --log-level=DEBUG
Подробные логи позволяют определить проблемы загрузки драйверов, подключения к Selenium и выполнения тестов.
Корректная установка Protractor подтверждается следующими признаками:
protractor и webdriver-manager
доступныПосле прохождения этих этапов среда считается готовой для разработки и запуска автоматизированных end-to-end тестов.