Проверка корректности установки

Проверка корректности установки Protractor необходима для подтверждения работоспособности всей цепочки: Node.js → npm → Protractor → Selenium Server → WebDriver браузера → тестовый фреймворк. На этом этапе выявляются проблемы окружения, версий зависимостей и конфигурации до начала написания и выполнения реальных тестов.


Проверка версии Node.js и npm

Корректная работа Protractor зависит от установленной версии Node.js и менеджера пакетов npm.

node -v
npm -v

Вывод версий должен соответствовать диапазону, поддерживаемому используемой версией Protractor. Несовместимость Node.js часто приводит к ошибкам установки зависимостей или некорректной работе webdriver-manager.


Проверка установки Protractor

После установки через npm (глобально или локально) необходимо убедиться, что бинарный файл доступен системе.

protractor --version

Ожидается вывод версии Protractor и связанных компонентов, например:

Version 7.0.0

Отсутствие команды или ошибка command not found указывает на проблемы с путями или установкой пакета.


Проверка webdriver-manager

Protractor использует webdriver-manager для управления Selenium Server и драйверами браузеров.

Проверка доступности webdriver-manager

webdriver-manager --version

Корректный вывод подтверждает успешную установку.

Обновление Selenium Server и драйверов

webdriver-manager update

В процессе загрузки должны быть получены:

  • selenium-server-standalone
  • chromedriver
  • geckodriver (при необходимости)

Ошибки на этом этапе обычно связаны с отсутствием доступа к сети или конфликтами прав файловой системы.


Запуск Selenium Server

Перед выполнением тестов Selenium Server должен корректно запускаться.

webdriver-manager start

При успешном запуске в консоли отображаются сообщения вида:

Selenium Server is up and running on port 4444

Дополнительно может быть проверена доступность сервера через браузер:

http://localhost:4444/wd/hub

Отсутствие ответа или ошибки указывают на проблемы с портами или Java Runtime Environment.


Проверка конфигурационного файла Protractor

Минимальный конфигурационный файл (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

Корректная установка подтверждается:

  • запуском браузера
  • загрузкой страницы
  • успешным завершением теста без ошибок

Проверка механизма синхронизации Angular

Одной из ключевых особенностей Protractor является автоматическая синхронизация с Angular-приложениями.

При тестировании не-Angular страниц необходимо явно отключать синхронизацию:

browser.waitForAngularEnabled(false);

Если при запуске тестов наблюдаются зависания на Waiting for Angular, это свидетельствует о неправильной идентификации типа приложения или ошибке конфигурации.


Проверка драйвера браузера

Для Chrome используется ChromeDriver, версия которого должна соответствовать установленной версии браузера.

Типичные ошибки:

  • session not created
  • This version of ChromeDriver only supports Chrome version X

Решение заключается в обновлении драйвера через webdriver-manager update или ручной настройке версии.


Проверка переменных окружения

В некоторых системах требуется корректная настройка переменных окружения:

  • JAVA_HOME для Selenium Server
  • PATH для Node.js и npm

Некорректные значения приводят к ошибкам запуска webdriver-manager или Selenium.


Проверка на разных операционных системах

Особенности могут различаться:

  • Windows: конфликты прав доступа, антивирусное ПО, PowerShell execution policy
  • Linux: отсутствие графической среды, необходимость headless-режима
  • macOS: блокировка драйверов системой безопасности

Для 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 доступны
  • Selenium Server запускается без ошибок
  • браузер открывается и управляется тестом
  • тестовый сценарий завершается успешно

После прохождения этих этапов среда считается готовой для разработки и запуска автоматизированных end-to-end тестов.