|
| 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 |
0 commit comments