docs(web-test): update error handling and ё normalization notes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-03-01 10:34:55 +03:00
parent d5fa5349d4
commit 38c82f4a2f
+7 -4
View File
@@ -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` для обработки
## Связанные навыки