mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-17 08:15:16 +03:00
feat(web-test): _allure/ конвенция + categories.json для триажа падений
run.mjs: - syncAllureExtras(testDir, reportDir) копирует все файлы из <testDir>/_allure/ в reportDir перед генерацией отчёта. Underscore в имени параллелен _hooks.mjs (инфра, не тест) — discovery его пропускает. - Вызов после writeAllure при --format=allure. tests/web-test/_allure/categories.json — 7 правил классификации падений по нашему 1С-домену: 1. License pool exhausted (1C) — известный multi-context flake. 2. 1C application error (modal) — exception modal через fetchErrorStack. 3. Section panel icon-only — деградация состояния стенда. 4. Navigation lookup miss — navigateSection/openCommand/navigateLink/switchTab. 5. Element not found — clickElement/fillField/selectValue/closeForm/fillTableRow/deleteTableRow. 6. Test timeout — Timeout (Nms) от раннера. 7. Assertion failure — наши createAssertions + 1С-specific (formHasField/tableHasRow/noErrors). spec §9: раздел «Доп. файлы Allure через <testDir>/_allure/» с таблицей поддерживаемых типов (categories.json / environment.properties / executor.json) и минимальным примером. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
[
|
||||
{
|
||||
"name": "License pool exhausted (1C)",
|
||||
"matchedStatuses": ["failed", "broken"],
|
||||
"messageRegex": ".*Не обнаружено свободной лицензии.*"
|
||||
},
|
||||
{
|
||||
"name": "1C application error (modal)",
|
||||
"matchedStatuses": ["failed"],
|
||||
"messageRegex": ".*(ВызватьИсключение|В поле введены некорректные данные|Произошла ошибка|Ошибка при вызове).*"
|
||||
},
|
||||
{
|
||||
"name": "Section panel icon-only (stand state)",
|
||||
"matchedStatuses": ["failed"],
|
||||
"messageRegex": ".*icon-only mode.*"
|
||||
},
|
||||
{
|
||||
"name": "Navigation lookup miss",
|
||||
"matchedStatuses": ["failed"],
|
||||
"messageRegex": ".*(navigateSection|openCommand|navigateLink|switchTab).*not found.*"
|
||||
},
|
||||
{
|
||||
"name": "Element not found",
|
||||
"matchedStatuses": ["failed"],
|
||||
"messageRegex": ".*(clickElement|fillField|fillFields|selectValue|closeForm|fillTableRow|deleteTableRow).*not found.*"
|
||||
},
|
||||
{
|
||||
"name": "Test timeout",
|
||||
"matchedStatuses": ["failed", "broken"],
|
||||
"messageRegex": "Timeout \\(\\d+ms\\)"
|
||||
},
|
||||
{
|
||||
"name": "Assertion failure",
|
||||
"matchedStatuses": ["failed"],
|
||||
"messageRegex": "(Expected|AssertionError|Field \".*\" not found in form|Form title .*does not contain|No row matching predicate|Form has errors).*"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user