Baseline установка и обновление

Для начала работы с WebdriverIO необходимо правильно установить все зависимости и настроить проект. WebdriverIO — это инструмент для автоматизированного тестирования веб-приложений, использующий Selenium WebDriver или другие драйверы для взаимодействия с браузером.

1. Установка WebdriverIO через npm

WebdriverIO доступен через npm, и его можно установить с помощью команды:

npm install --save-dev @wdio/cli

Эта команда установит основной клиент для работы с WebdriverIO. После этого необходимо настроить проект для взаимодействия с WebDriver.

2. Инициализация проекта WebdriverIO

Для быстрой настройки проекта можно воспользоваться встроенным инструментом инициализации. Для этого нужно выполнить команду:

npx wdio config

Это запустит интерактивный процесс, который поможет выбрать параметры конфигурации, такие как:

  • Используемый тестовый фреймворк (например, Mocha, Jasmine или Cucumber).
  • Тип браузера для тестирования (например, Chrome или Firefox).
  • Метод запуска (локальный или облачный).

Ответы на вопросы конфигуратора позволят автоматически создать файл конфигурации wdio.conf.js, в котором будут указаны все параметры для выполнения тестов.

Структура проекта WebdriverIO

После инициализации проекта структура папок будет выглядеть следующим образом:

/project-root
├── /node_modules
├── /tests
│   └── example.test.js
├── /wdio.conf.js
├── package.json
└── package-lock.json
  • Папка node_modules содержит установленные зависимости.
  • Папка tests предназначена для хранения тестов.
  • Файл wdio.conf.js — конфигурационный файл WebdriverIO.
  • package.json и package-lock.json — файлы, управляемые npm.

Конфигурация WebdriverIO

После установки и инициализации необходимо настроить конфигурацию в файле wdio.conf.js. В этом файле указываются ключевые параметры для тестирования, такие как:

  • Селекторы браузеров: какие браузеры будут использоваться для тестов.
  • Фреймворк: указание тестового фреймворка (например, Mocha или Jasmine).
  • Устройства и сессии: настройка использования различных устройств или виртуальных браузеров.
  • Логирование и отчеты: настройка логирования и генерации отчетов о прохождении тестов.

Пример базовой конфигурации:

exports.config = {
    runner: 'local',
    specs: [
        './tests/**/*.js'
    ],
    capabilities: [{
        browserName: 'chrome'
    }],
    framework: 'mocha',
    reporters: ['spec'],
    services: ['selenium-standalone'],
    logLevel: 'info',
    baseUrl: 'http://example.com',
};

Обновление WebdriverIO

Для поддержания актуальности инструментов и предотвращения возникновения ошибок, связанных с устаревшими версиями, необходимо регулярно обновлять зависимости WebdriverIO. Обновление можно выполнить с помощью команды:

npm update @wdio/cli

Это обновит клиент WebdriverIO до последней версии. Важно отметить, что обновление WebdriverIO может потребовать корректировки конфигурационных файлов или тестов в зависимости от изменений в новых версиях.

1. Обновление зависимостей WebdriverIO

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

npm update

Эта команда обновит все зависимости до последних доступных версий, которые указаны в файле package.json.

2. Проверка совместимости версий

При обновлении WebdriverIO и его зависимостей важно следить за совместимостью версий различных пакетов. WebdriverIO имеет несколько основных зависимостей, таких как @wdio/cli, @wdio/local-runner, @wdio/mocha-framework и другие, которые могут потребовать одинаковых версий для корректной работы.

Рекомендуется перед обновлением внимательно изучить документацию WebdriverIO для получения информации о возможных изменениях в новых версиях и их влиянии на текущую конфигурацию проекта.

Проверка состояния проекта после обновления

После обновления всех зависимостей необходимо провести проверку работы тестов, чтобы убедиться, что обновление не нарушило работу существующих тестов. Для этого можно выполнить:

npx wdio run wdio.conf.js

Если все тесты прошли успешно, можно считать обновление завершенным.

Резервное копирование и откат

Перед значительными обновлениями всегда полезно создать резервную копию конфигурации и тестов. В случае возникновения ошибок после обновления можно легко откатить изменения. Если проект находится под системой контроля версий (например, Git), то откатить изменения можно с помощью стандартных команд Git.

git checkout .
git pull

Если же необходимо откатить изменения только в зависимости, достаточно удалить папку node_modules и файл package-lock.json, а затем снова установить зависимости:

rm -rf node_modules
rm package-lock.json
npm install

Поддержка различных версий WebdriverIO

В некоторых случаях необходимо работать с несколькими версиями WebdriverIO в одном проекте. Для этого можно использовать систему управления версиями, такую как nvm, которая позволяет устанавливать и переключаться между различными версиями Node.js. Для этого следует создать файл .nvmrc, где указана необходимая версия Node.js, например:

v16.15.0

Затем, используя команду nvm use, можно переключаться между версиями.


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