Перейти к основному содержимому

Установка и настройка

Системные требования

Чтобы начать работу с testplane, установите Node.js версии 18.0 и выше.

Установка

Для запуска установщика testplane с помощью npm выполните следующую команду:

npm init testplane@latest YOUR_PROJECT_PATH

Чтобы настроить проект в интерактивном режиме с дополнительными параметрами (выбор пакетного менеджера, установка плагинов), укажите опцию -v.

После выполнения команды установки в директории проекта появится следующий набор файлов и папок:

node_modules
testplane-tests
example.testplane.ts
ts.config.json
package-lock.json
package.json
testplane.config.ts

Настройка

В файле testplane.config.ts содержится базовый набор настроек для запуска тестов:

testplane.config.ts
export default {
gridUrl: "local",
baseUrl: "http://localhost",
pageLoadTimeout: 20000,
httpTimeout: 20000,
testTimeout: 90000,
resetCursor: false,
sets: {
desktop: {
files: ["testplane-tests/**/*.testplane.(t|j)s"],
browsers: ["chrome", "firefox"],
},
},
browsers: {
chrome: {
headless: true,
desiredCapabilities: {
browserName: "chrome",
},
},
firefox: {
headless: true,
desiredCapabilities: {
browserName: "firefox",
},
},
},
prepareBrowser: (browser: WdioBrowser) => {
setupBrowser(browser);
},
plugins: {
"html-reporter/testplane": {
enabled: true,
path: "testplane-report",
defaultView: "all",
diffMode: "3-up-scaled",
},
},
} satisfies import("testplane").ConfigInput;

Основные параметры конфигурации

  • gridUrl определяет, где запускать браузеры. Значение "local" означает запуск на вашей локальной машине. Для удаленного запуска укажите URL Selenium Grid или облачного сервиса (например, BrowserStack или Sauce Labs).
  • sets — группы тестов, привязанные к определенным браузерам. Позволяет запускать разные наборы тестов в разных браузерах. Например, можно создать отдельные наборы для десктопных тестов в Chrome/Firefox и мобильных в Safari. Подробнее в справочнике по sets.
  • testTimeout — максимальное время выполнения одного теста в миллисекундах. Если тест выполняется дольше этого значения, он будет прерван. Настраивайте в зависимости от сложности вашего приложения.
  • pageLoadTimeout — максимальное время ожидания загрузки страницы.
  • browsers — конфигурация для каждого браузера. Параметр headless: true запускает браузер в фоновом режиме без графического интерфейса. Подробнее в разделе Браузеры.
  • prepareBrowser — хук для настройки браузера перед запуском тестов. В конфиге по умолчанию вызывает setupBrowser(browser), который добавляет методы Testing Library к объекту браузера и элементам, позволяя сразу использовать семантические запросы в тестах.
  • plugins — подключаемые модули. html-reporter — инструмент для просмотра результатов тестов в браузере. Предоставляет интерактивные отчеты со скриншотами, логами и возможностями отладки. Подробнее в разделе HTML Reporter.

Полный список параметров конфигурации см. в справочнике по конфигурации.

Чтобы загрузить браузеры, описанные в конфиге, отдельно от запуска самого Testplane, выполните команду:

npx testplane install-deps

Без предварительного запуска команды недостающие браузеры будут автоматически загружены с первым запуском Testplane.

Первый запуск

После установки и настройки запустите тестовый пример, который был создан автоматически:

npx testplane

Что происходит при первом запуске

Testplane автоматически выполнит следующие действия:

  1. Загрузит браузеры: если вы не запускали install-deps, Testplane скачает Chrome и Firefox
  2. Запустит тест: выполнит пример из testplane-tests/example.testplane.ts
  3. Создаст отчет: сгенерирует HTML-репорт в папке testplane-report/

Просмотр результатов

После завершения тестов откройте интерактивный отчет:

npx testplane gui

Команда запустит локальный сервер и откроет отчет в браузере. В интерфейсе вы увидите:

  • Список пройденных тестов
  • Статистику выполнения
  • Скриншоты (если тест использует assertView)
  • Логи выполнения

Ожидаемый результат

Если все настроено корректно, вы увидите:

✔ test examples › docs search test [chrome] - 3.2s
✔ test examples › docs search test [firefox] - 3.5s

Total: 2 Passed: 2 Failed: 0 Skipped: 0 Retries: 0

Возможные проблемы

Если тест не прошел, проверьте:

  • Интернет-соединение (тест обращается к https://testplane.io/)
  • Браузеры установлены: npx testplane install-deps

Подробнее об отладке в разделе Запуск и отладка.

Что дальше?

Теперь, когда Testplane настроен и работает, вы можете: