From 38c82f4a2f488f46eb3c016eee1b6269ece27bd2 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sun, 1 Mar 2026 10:34:55 +0300 Subject: [PATCH] =?UTF-8?q?docs(web-test):=20update=20error=20handling=20a?= =?UTF-8?q?nd=20=D1=91=20normalization=20notes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- docs/web-test-guide.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/web-test-guide.md b/docs/web-test-guide.md index 4b157073..d93d1fed 100644 --- a/docs/web-test-guide.md +++ b/docs/web-test-guide.md @@ -265,20 +265,23 @@ await closeForm({ save: false }); ## Типичные ошибки +Все функции бросают исключение при ошибке (не возвращают `{ error }`). Сценарий прерывается на проблемном шаге с информативным сообщением. В интерактиве — `try/catch` для обработки. + | Проблема | Решение | |----------|---------| -| `no_form` — форма не открыта | Добавьте `await wait(2)` после навигации | -| `not_found` — элемент не найден | Проверьте имя через `getFormState()` | -| Зацикливание поиска | Элемент не существует — навык остановится после 2 попыток | +| `no form found` — форма не открыта | Добавьте `await wait(2)` после навигации | +| `not found. Available: ...` — элемент не найден | Проверьте имя через `getFormState()`, используйте вариант из Available | +| `fillFields: N of M field(s) failed` | Текст ошибки содержит список проблемных полей и доступные варианты | | Пустой `readSpreadsheet()` | Увеличьте `await wait(N)` перед чтением | ## Особенности - **Headed mode** — 1С требует видимый браузер, headless не поддерживается - **Время запуска** — первое подключение к 1С занимает 30-60 секунд (ожидание встроено) -- **Fuzzy matching** — все поиски: точное совпадение → начало строки → вхождение +- **Fuzzy matching** — все поиски: точное совпадение → начало строки → вхождение. Буквы ё и е считаются эквивалентными - **Clipboard paste** — поля заполняются через Ctrl+V (корректно триггерит события 1С) - **Неразрывные пробелы** — 1С использует `\u00a0`, внутри API нормализация автоматическая +- **Ошибки** — все функции бросают исключение при ошибке (сценарий прерывается), `try/catch` для обработки ## Связанные навыки