Skip to content

Commit ce9c178

Browse files
docs: describe CLI
1 parent 655fda6 commit ce9c178

File tree

4 files changed

+502
-0
lines changed

4 files changed

+502
-0
lines changed

docs/command-line/index.mdx

Lines changed: 251 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,251 @@
1+
import Admonition from "@theme/Admonition";
2+
3+
# Командная строка {#cli}
4+
5+
Testplane позволяет устанавливать параметры через интерфейс командной строки.
6+
7+
## Обзор {#overview}
8+
9+
Доступные опции:
10+
11+
```
12+
-V, --version вывести версию инструмента
13+
-c, --config <path> путь к конфигурационному файлу
14+
-b, --browser <browser> запустить тесты только в указанном браузере
15+
-s, --set <set> запустить тесты только в указанном наборе
16+
-r, --require <module> добавить модуль
17+
--reporter <reporter> установить репортер
18+
--grep <grep> запустить только тесты, соответствующие шаблону
19+
--update-refs обновить эталоны скриншотов или создать их, если они не существуют (используеося командой "assertView")
20+
--inspect [inspect] запустить node.js инспектор
21+
--inspect-brk [inspect-brk] запустить nodejs инспектор с точкой останова в начале
22+
--repl [type] запустить repl режим, позволяя вызвать `browser.switchToRepl` в коде теста для открытия repl интерфейса (по умолчанию: false)
23+
--repl-before-test [type] запустить repl режим перед запуском теста (по умолчанию: false)
24+
--repl-on-fail [type] запустить repl режим только в случае падения теста (по умолчанию: false)
25+
--devtools запустить тесты используя протокол автоматизации Chrome Devtools Protocol
26+
-h, --help вывести информацию об использовании
27+
```
28+
29+
## Переопределение настроек {#overriding-settings}
30+
31+
Все параметры можно переопределить с помощью флагов командной строки или переменных среды согласно следующим приоритетам (в порядке убывания):
32+
33+
- Опция командной строки;
34+
35+
- Переменная окружения;
36+
37+
- Значение в файле конфигурации;
38+
39+
- Значение по умолчанию.
40+
41+
### Переопределение с помощью опции CLI {#overriding-cli-settings}
42+
43+
Чтобы переопределить параметр конфигурации с помощью опции CLI, преобразуйте полный путь опции в `--kebab-case`.
44+
45+
Например, чтобы переопределить свойство `baseUrl` в конфигурации:
46+
47+
```bash
48+
testplane path/to/mytest.js --base-url http://example.com
49+
```
50+
51+
Это также работает для вложенных свойств. Пример переопределения значения `browsers.firefox.sessionsPerBrowser` (предполагается, что Вы описали браузер с идентификатором "firefox"):
52+
53+
```bash
54+
testplane path/to/mytest.js --browsers-firefox-sessions-per-browser 7
55+
```
56+
57+
### Переопределение с помощью переменной окружения {#overriding-env-settings}
58+
59+
Чтобы переопределить настройку с помощью переменной окружения, переведите ее полный путь в `snake_case` и добавьте префикс `testplane_`.
60+
61+
Примеры переопределения тех же значений `baseUrl` и `browsers.firefox.sessionsPerBrowser` с использованием переменных среды вместо опций CLI:
62+
63+
```bash
64+
testplane_base_url=http://example.com testplane path/to/mytest.js
65+
testplane_browsers_firefox_sessions_per_browser=7 testplane path/to/mytest.js
66+
```
67+
68+
Помимо переопределения значений конфигурации, также существуют две дополнительные переменные среды: "TESTPLANE_SKIP_BROWSERS" и "TESTPLANE_SETS":
69+
70+
#### TESTPLANE_SKIP_BROWSERS
71+
72+
Пропустить браузеры, указанные в конфигурации, по их идентификатору. Несколько идентификаторов браузеров должны быть разделены запятой
73+
(допускаются пробелы после запятых).
74+
75+
```bash
76+
TESTPLANE_SKIP_BROWSERS=ie10,ie11 testplane
77+
```
78+
79+
#### TESTPLANE_SETS
80+
81+
Запускает только указанные наборы (альтернатива опции CLI `--set`).
82+
83+
```bash
84+
TESTPLANE_SETS=desktop,touch testplane
85+
```
86+
87+
## Version {#version}
88+
89+
Вывести текущую версию `testplane`.
90+
91+
```bash
92+
testplane --version
93+
```
94+
95+
## Config {#config}
96+
97+
Использовать заданный файл конфигурации.
98+
99+
```bash
100+
testplane --config ./local.testplane.config.ts
101+
```
102+
103+
## Browser {#browser}
104+
105+
Запустить тесты только в указанном браузере.
106+
107+
```bash
108+
testplane --browser chrome
109+
```
110+
111+
## Set {#set}
112+
113+
Запустить тесты только в указанном наборе.
114+
115+
```bash
116+
testplane --set desktop
117+
```
118+
119+
## Require {#require}
120+
121+
Загрузить внешние модули, которые локально у вас на машине, перед запуском `testplane`. Это полезно для загрузчиков, таких как ECMAScript модули через [esm](https://www.npmjs.com/package/esm).
122+
123+
```bash
124+
testplane --require ./tsconfig-register-paths.js
125+
```
126+
127+
## Reporter {#reporter}
128+
129+
Может использоваться для установки одного из следующих терминальных отчетов:
130+
131+
- `flat` - вся информация об ошибках и повторных тестах будет сгруппирована по браузерам в конце отчета;
132+
- `plain` - информация об ошибках и повторах будет размещена после каждого теста;
133+
- `jsonl` - выводит подробную информацию о каждом результате теста в форме [jsonl](https://jsonlines.org/).
134+
135+
По умолчанию - `flat`.
136+
137+
По умолчанию информация о результатах тестов выводится в командную строку, но есть возможность перенаправить вывод в файл:
138+
139+
```bash
140+
testplane --reporter '{"type": "jsonl", "path": "./some-path/result.jsonl"}'
141+
```
142+
143+
Вы также можете создавать несколько отчетов:
144+
145+
```bash
146+
testplane --reporter '{"type": "jsonl", "path": "./some-path/result.jsonl"}' --reporter flat
147+
```
148+
149+
Помимо этих отчетов для терминала, вы можете использовать плагин [html-reporter][html-reporter] для создания html-отчетов.
150+
151+
## Grep {#grep}
152+
153+
Запусть только те тесты, полное название которых соответствует шаблону.
154+
155+
### Пример {#grep-example}
156+
157+
Если у вас есть некоторые тесты:
158+
159+
```ts
160+
describe("test", () => {
161+
describe("with", () => {
162+
describe("nested path", () => {
163+
...
164+
});
165+
describe("other path", () => {
166+
...
167+
})
168+
});
169+
});
170+
```
171+
172+
То вы можете запустить тесты внутри набора "nested path" без запуска тестов внутри набора "other path" с помощью любого из этих вариантов:
173+
174+
```bash
175+
testplane --grep "nested path"
176+
testplane --grep "with nested path"
177+
testplane --grep "test with nested path"
178+
```
179+
180+
### Update refs {#update-refs}
181+
182+
Запустить тесты, обновив все ссылки на снимки экрана, созданные командой [assertView][assert-view].
183+
184+
```bash
185+
testplane --update-refs
186+
```
187+
188+
<Admonition type="info">
189+
Рекомендуемый способ обновления эталонов - использование плагина [html-reporter][html-reporter].
190+
</Admonition>
191+
192+
## Inspect {#inspect}
193+
194+
Запускает тесты Testplane с использованием [nodejs дебаггера](https://nodejs.org/en/docs/inspector).
195+
196+
```bash
197+
testplane --inspect
198+
```
199+
200+
<Admonition type="info">
201+
В отладочном режиме запускается только один рабочий процесс, и все тесты выполняются только в
202+
нем. Используйте этот режим с опцией `sessionsPerBrowser=1`, чтобы отлаживать тесты по одному.
203+
</Admonition>
204+
205+
## Inspect break {#inspect-brk}
206+
207+
То же самое, что и [Inspect](#inspect), но с точкой останова в начале.
208+
209+
```bash
210+
testplane --inspect-brk
211+
```
212+
213+
## REPL {#repl}
214+
215+
Включает [REPL](https://ru.wikipedia.org/wiki/REPL). Также отключает таймаут продолжительности теста. Может быть включен с помощью указания следующих CLI опций:
216+
217+
- `--repl` - в этом режиме должен быть запущен только один тест в одном браузере, в противном случае выбрасывается ошибка. REPL интерфейс не запускается автоматически, поэтому вам нужно вызвать команду [switchToRepl][switch-to-repl] в коде теста;
218+
- `--repl-before-test` - то же, что и опция `--repl`, за исключением того, что REPL интерфейс открывается автоматически перед запуском теста;
219+
- `--repl-on-fail` - то же, что и опция `--repl`, за исключением того, что REPL интерфейс открывается автоматически при ошибке во время выполнения теста.
220+
221+
```bash
222+
testplane --repl --grep 'my test name' --browser chrome
223+
```
224+
225+
<Admonition type="info">
226+
Больше информации о режиме REPL можно найти в документации команды
227+
[switchToRepl][switch-to-repl].
228+
</Admonition>
229+
230+
## Devtools {#devtools}
231+
232+
Запускает тесты Testplane с использованием [протокола автоматизации devtools][webdriver-vs-cdp].
233+
234+
```bash
235+
testplane --devtools
236+
```
237+
238+
## Помощь {#help}
239+
240+
Выводит информацию об опциях и командах. Плагины Testplane могут добавлять свои собственные команды и опции.
241+
242+
Например, [html-reporter][html-reporter] добавляет команду `gui`.
243+
244+
```bash
245+
testplane --help
246+
```
247+
248+
[html-reporter]: ../html-reporter/html-reporter-setup
249+
[assert-view]: ../commands/browser/assertView
250+
[switch-to-repl]: ../commands/browser/switchToRepl
251+
[webdriver-vs-cdp]: ../reference/webdriver-vs-cdp

docs/commands/browser/switchToRepl.mdx

Whitespace-only changes.

0 commit comments

Comments
 (0)