From fdafff1e3f49f9c317d9d54ea440dc9315c73130 Mon Sep 17 00:00:00 2001 From: VolandSZ <{E-MAIL}> Date: Thu, 3 Sep 2026 14:24:53 +0300 Subject: [PATCH] docs: update Quick Start and Test Execution sections in README.md --- README.md | 102 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 58 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index b1a6f79..28799bd 100644 --- a/README.md +++ b/README.md @@ -70,94 +70,108 @@ python -m venv venv .\venv\Scripts\playwright.exe install chromium ``` -### 3. Настроить учётные данные +### 3. Настроить конфигурацию и учётные данные ```powershell Copy-Item .env.example .env -# Открыть .env и заполнить логины/пароли +# Открыть .env и указать BASE_URL, логины и пароли ролей ``` +### 4. (Опционально) Настройка ГОСТ-браузера + +Если целевой портал защищён ГОСТ TLS (ГОСТ Р 34.12-2015, 34.10-2012) или вы хотите тестировать ГОСТ-контур: +1. Скачайте архив **[Chromium-GOST](https://github.com/deemru/chromium-gost/releases)** (например, `chromium-gost-...-windows-amd64.zip`). +2. Распакуйте его в стандартный каталог `%LOCALAPPDATA%\Chromium-Gost` (или `C:\Program Files\Chromium-Gost`). Механизм тестов обнаружит его **автоматически**. +3. *Альтернатива:* если браузер распакован в произвольную папку, укажите путь в `.env`: + ```ini + CHROMIUM_GOST_PATH=C:\MyPrograms\chromium-gost\chrome.exe + ``` +4. Убедитесь, что на компьютере установлен криптопровайдер с ГОСТ-алгоритмами (КриптоПро CSP, Security Code CSP / Континент-АП). + --- ## Запуск тестов -> Все команды выполняются из корня проекта (`e2e_Pets/`). -> HTML-отчёт автоматически создаётся в `html-report/report.html`. +> Все команды выполняются из корня проекта (`e2e_Pets/`). +> HTML-отчёт со статусом, типом TLS и запущенным браузером автоматически формируется в `html-report/report.html`. --- -### Запустить ВСЕ тесты +### Автоматический запуск (рекомендуемый) + +По умолчанию включён режим `--tls-mode=auto`. Система перед стартом проверяет сокет целевого `BASE_URL`: +- Если сайт доступен по **стандартному TLS** → автоматически запускается встроенный **Chromium Playwright**. +- Если сайт защищён **ГОСТ TLS** → автоматически запускается **Chromium-GOST**. ```powershell +# Запуск всех тестов в авто-режиме .\venv\Scripts\pytest.exe ``` --- -### Запустить тесты конкретного ЛК (роли) +### Принудительный выбор режима TLS + +Если вы хотите явно зафиксировать браузер в обход автоопределения: ```powershell -# ЛК Управление ветеринарии +# Принудительно запустить через Chromium-GOST +.\venv\Scripts\pytest.exe --tls-mode=gost + +# Принудительно запустить через стандартный Chromium Playwright +.\venv\Scripts\pytest.exe --tls-mode=standard +``` + +--- + +### Запуск тестов конкретного ЛК (роли) + +```powershell +# ЛК Управление ветеринарии (все бизнес-процессы) .\venv\Scripts\pytest.exe tests/01_vetdept/ -# ЛК Ветеринарная станция +# ЛК Ветеринарная станция (все бизнес-процессы) .\venv\Scripts\pytest.exe tests/02_vetstation/ ``` --- -### Запустить конкретный бизнес-процесс +### Запуск конкретного бизнес-процесса или шага ```powershell -# BP01 навигации в ЛК Управление ветеринарии +# Запуск BP01 в ЛК Управление ветеринарии .\venv\Scripts\pytest.exe tests/01_vetdept/BP01_navigation/ -# BP01 дашборда в ЛК Ветеринарная станция -.\venv\Scripts\pytest.exe tests/02_vetstation/BP01_dashboard/ +# Запуск только шага 1 (Dashboard) +.\venv\Scripts\pytest.exe tests/01_vetdept/BP01_navigation/ -k "s01" + +# Запуск шагов 1 и 2 +.\venv\Scripts\pytest.exe tests/01_vetdept/BP01_navigation/ -k "s01 or s02" ``` --- -### Запустить конкретный шаг - -```powershell -# Только шаг 3 из BP01 ветстанции -.\venv\Scripts\pytest.exe tests/02_vetstation/BP01_dashboard/ -k "s03" - -# Только шаги 1 и 2 -.\venv\Scripts\pytest.exe tests/02_vetstation/BP01_dashboard/ -k "s01 or s02" -``` - ---- - -### Полезные флаги +### Полезные флаги запуска | Флаг | Описание | |---|---| -| `-v` | Подробный вывод с именами шагов | -| `--headed` | Показывать браузер (по умолчанию включён в `pytest.ini`) | -| `--headless` | Запустить без браузера (быстрее) | -| `--slowmo 500` | Замедление действий на 500мс (для отладки) | -| `-k "BP01"` | Запустить только тесты содержащие "BP01" в имени | -| `--co -q` | Только показать список тестов без запуска | -| `--tls-mode=auto` | Режим TLS: `auto` (по умолчанию — автоопределение), `gost` или `standard` | -| `--ignore-https-errors` | Игнорировать ошибки SSL сертификатов (по умолчанию включено) | +| `-v` | Подробный вывод с отображением docstring каждого шага | +| `--tls-mode=auto` | Режим TLS: `auto` (по умолчанию), `gost` или `standard` | +| `--ignore-https-errors` | Игнорировать ошибки сертификатов SSL (по умолчанию включено) | +| `-k "BP01"` | Фильтр тестов по подстроке в имени класса или метода | +| `--co -q` | Только показать список тестов без их выполнения | +| `--slowmo 500` | Замедление действий в браузере (в мс, по умолчанию 1000мс в `pytest.ini`) | +| `-o addopts=""` | Сбросить дефолтные флаги `pytest.ini` (например, для headless-запуска в CI) | ```powershell -# Показать список всех тестов (без запуска) +# Просмотр дерева тестов без запуска браузера .\venv\Scripts\pytest.exe --co -q -# Запустить без браузера и без замедления -.\venv\Scripts\pytest.exe --headless --slowmo 0 +# Быстрый запуск без задержки slowmo +.\venv\Scripts\pytest.exe tests/01_vetdept/ --slowmo 0 -# Запустить в headless-режиме только vetdept -.\venv\Scripts\pytest.exe tests/01_vetdept/ --headless --slowmo 0 - -# Принудительный запуск в режиме ГОСТ TLS (через Chromium-GOST / Яндекс.Браузер) -.\venv\Scripts\pytest.exe --tls-mode=gost - -# Принудительный запуск в режиме стандартного TLS (встроенный Chromium Playwright) -.\venv\Scripts\pytest.exe --tls-mode=standard +# Запуск в режиме ГОСТ с подробным выводом +.\venv\Scripts\pytest.exe tests/01_vetdept/ --tls-mode=gost -v ``` ---