Conversation
✅ Successfully deployed static |
shadowusr
left a comment
There was a problem hiding this comment.
Статья пока что очень сырая. Нужно более внимательно пройтись по каждой секции, сверить с реальным поведение Testplane, его параметрами.
| └── ... | ||
| ``` | ||
|
|
||
| Мастер-процесс управляет очередью тестов и распределяет их по воркерам. Каждый воркер — это отдельный `Node.js`-процесс, который может держать одну или несколько браузерных сессий и последовательно выполнять в них тесты. |
There was a problem hiding this comment.
Я бы убрал слово последовательно, не совсем понятно, к чему оно относится.
|
|
||
| Мастер-процесс управляет очередью тестов и распределяет их по воркерам. Каждый воркер — это отдельный `Node.js`-процесс, который может держать одну или несколько браузерных сессий и последовательно выполнять в них тесты. | ||
|
|
||
| Тесты внутри одного `describe`-блока по умолчанию выполняются последовательно — в том порядке, в котором они объявлены. Параллелизм достигается за счет одновременного выполнения тестов из разных файлов и разных браузеров в разных воркерах. |
There was a problem hiding this comment.
А откуда эта инфа? Каждый тест запускается независимо от других, порядок выполнения не гарантируется.
|
|
||
| Поведение параллельного запуска контролируется тремя ключевыми настройками в `testplane.config.ts`. | ||
|
|
||
| #### Рабочие процессы |
There was a problem hiding this comment.
Давай напишем "workers" или воркеры, рабочие процессы звучит странно.
И унесем эту секцию в конец, т.к. чаще всего обращать внимание нужно не на это.
|
|
||
| #### Ограничение количества рабочих процессов | ||
|
|
||
| Чтобы ограничить количество воркеров, воспользуйтесь командной строкой. |
There was a problem hiding this comment.
Вообще не понятно, чем эта секция отличается от предыдущей. Я бы удалил.
| }; | ||
| ``` | ||
|
|
||
| #### Лимит сессий на браузер |
There was a problem hiding this comment.
Лимит на количество параллельно запущенных браузерных сессий
|
|
||
| 333 теста на чанк при `sessionsPerBrowser`: 10 и `testsPerSession`: 20 — разумное соотношение. | ||
|
|
||
| ## Сводная таблица настроек |
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - run: npm ci | ||
| - run: npx testplane --chunks 4 --chunk ${{ matrix.chunk }} |
There was a problem hiding this comment.
Этот пример тоже не жизнеспособный. аргументы не соответствуют действительности, что дальше с этим делать — не понятно, как получить итоговый отчет? В этом кейсе в PR будет запущено 4 задачи параллельно, это вообще не удобно.
Надо либо удалить, либо написать хороший пример.
| }; | ||
| ``` | ||
|
|
||
| ## Рекомендуемые настройки и их расчет |
There was a problem hiding this comment.
Я бы в эту секцию занес и рекоммендации по чанкам (шардам)
Здесь также стоит указать, что грубо 1 сессия потребляет 1.2 ядра, если браузеры локально запускаются, надо это учитывать.
| Отправной точкой для расчета является количество ядер CPU и доступная память на машине, где запускаются браузеры (Selenium Grid, Selenoid, или локальная машина). | ||
|
|
||
| ```text | ||
| sessionsPerBrowser = количество доступных слотов на grid / количество браузеров |
There was a problem hiding this comment.
это невалидная формула, слоты на grid всегда бьются по типам браузеров. а локальное количество браузеров надо рассчитывать исходя из ресурсов
|
|
||
| ```text | ||
| sessionsPerBrowser = количество доступных слотов на grid / количество браузеров | ||
| workers = sessionsPerBrowser × количество браузеров |
There was a problem hiding this comment.
Это вообще не соответствует действительности. Рекомендация — 8, но не больше количества ядер CPU
No description provided.