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

CLI

Testplane позволяет устанавливать параметры через CLI.

Обзор

Доступные опции:

-V, --version                вывести версию инструмента
-c, --config <path> путь к конфигурационному файлу
-b, --browser <browser> запустить тесты только в указанном браузере
-s, --set <set> запустить тесты только в указанном наборе
-r, --require <module> добавить модуль
--reporter <reporter> установить репортер
--grep <grep> запустить только тесты, соответствующие шаблону
--update-refs обновить эталоны скриншотов или создать их, если они не существуют (используеося командой "assertView")
--inspect [inspect] запустить node.js инспектор
--inspect-brk [inspect-brk] запустить nodejs инспектор с точкой останова в начале
--repl [type] запустить repl режим, позволяя вызвать `browser.switchToRepl` в коде теста для открытия repl интерфейса (по умолчанию: false)
--repl-before-test [type] запустить repl режим перед запуском теста (по умолчанию: false)
--repl-on-fail [type] запустить repl режим только в случае падения теста (по умолчанию: false)
--devtools запустить тесты используя протокол автоматизации Chrome Devtools Protocol
-h, --help вывести информацию об использовании

Переопределение настроек

Все параметры можно переопределить с помощью флагов командной строки или переменных среды согласно следующим приоритетам (в порядке убывания):

  • Опция командной строки;

  • Переменная окружения;

  • Значение в файле конфигурации;

  • Значение по умолчанию.

Переопределение с помощью опции CLI

Чтобы переопределить параметр конфигурации с помощью опции CLI, преобразуйте полный путь опции в --kebab-case.

Например, чтобы переопределить свойство baseUrl в конфигурации:

testplane path/to/mytest.js --base-url http://example.com

Это также работает для вложенных свойств. Пример переопределения значения browsers.firefox.sessionsPerBrowser (предполагается, что Вы описали браузер с идентификатором "firefox"):

testplane path/to/mytest.js --browsers-firefox-sessions-per-browser 7

Переопределение с помощью переменной окружения

Чтобы переопределить настройку с помощью переменной окружения, переведите ее полный путь в snake_case и добавьте префикс testplane_.

Примеры переопределения тех же значений baseUrl и browsers.firefox.sessionsPerBrowser с использованием переменных среды вместо опций CLI:

testplane_base_url=http://example.com testplane path/to/mytest.js
testplane_browsers_firefox_sessions_per_browser=7 testplane path/to/mytest.js

Помимо переопределения значений конфигурации, также существуют две дополнительные переменные среды: "TESTPLANE_SKIP_BROWSERS" и "TESTPLANE_SETS":

TESTPLANE_SKIP_BROWSERS

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

TESTPLANE_SKIP_BROWSERS=ie10,ie11 testplane

TESTPLANE_SETS

Запускает только указанные наборы (альтернатива опции CLI --set).

TESTPLANE_SETS=desktop,touch testplane

Version

Вывести текущую версию testplane.

testplane --version

Config

Использовать заданный файл конфигурации.

testplane --config ./local.testplane.config.ts

Browser

Запустить тесты только в указанном браузере.

testplane --browser chrome

Set

Запустить тесты только в указанном наборе.

testplane --set desktop

Require

Загрузить внешние модули, которые локально у вас на машине, перед запуском testplane. Это полезно для загрузчиков, таких как ECMAScript модули через esm.

testplane --require ./tsconfig-register-paths.js

Reporter

Может использоваться для установки одного из следующих терминальных отчетов:

  • flat - вся информация об ошибках и повторных тестах будет сгруппирована по браузерам в конце отчета;
  • plain - информация об ошибках и повторах будет размещена после каждого теста;
  • jsonl - выводит подробную информацию о каждом результате теста в форме jsonl.

По умолчанию - flat.

По умолчанию информация о результатах тестов выводится в командную строку, но есть возможность перенаправить вывод в файл:

testplane --reporter '{"type": "jsonl", "path": "./some-path/result.jsonl"}'

Вы также можете создавать несколько отчетов:

testplane --reporter '{"type": "jsonl", "path": "./some-path/result.jsonl"}' --reporter flat

Помимо этих отчетов для терминала, вы можете использовать плагин html-reporter для создания html-отчетов.

Grep

Запусть только те тесты, полное название которых соответствует шаблону.

Пример

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

describe("test", () => {
describe("with", () => {
describe("nested path", () => {
...
});
describe("other path", () => {
...
})
});
});

То вы можете запустить тесты внутри набора "nested path" без запуска тестов внутри набора "other path" с помощью любого из этих вариантов:

testplane --grep "nested path"
testplane --grep "with nested path"
testplane --grep "test with nested path"

Update refs

Запустить тесты, обновив все ссылки на снимки экрана, созданные командой assertView.

testplane --update-refs
к сведению

Рекомендуемый способ обновления эталонов - использование плагина html-reporter.

Inspect

Запускает тесты Testplane с использованием nodejs дебаггера.

testplane --inspect
к сведению

В отладочном режиме запускается только один рабочий процесс, и все тесты выполняются только в нем. Используйте этот режим с опцией sessionsPerBrowser=1, чтобы отлаживать тесты по одному.

Inspect break

То же самое, что и Inspect, но с точкой останова в начале.

testplane --inspect-brk

REPL

Включает REPL. Также отключает таймаут продолжительности теста. Может быть включен с помощью указания следующих CLI опций:

  • --repl - в этом режиме должен быть запущен только один тест в одном браузере, в противном случае выбрасывается ошибка. REPL интерфейс не запускается автоматически, поэтому вам нужно вызвать команду switchToRepl в коде теста;
  • --repl-before-test - то же, что и опция --repl, за исключением того, что REPL интерфейс открывается автоматически перед запуском теста;
  • --repl-on-fail - то же, что и опция --repl, за исключением того, что REPL интерфейс открывается автоматически при ошибке во время выполнения теста.
testplane --repl --grep 'my test name' --browser chrome
к сведению

Больше информации о режиме REPL можно найти в документации команды switchToRepl.

Devtools

Запускает тесты Testplane с использованием протокола автоматизации devtools.

testplane --devtools

Помощь

Выводит информацию об опциях и командах. Плагины Testplane могут добавлять свои собственные команды и опции.

Например, html-reporter добавляет команду gui.

testplane --help