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