mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-20 09:30:59 +03:00
feat(web-test): M7.5 — title slide в beforeEach для --record
_hooks.mjs v0.4: beforeEach под условием ctx.isRecording() показывает title slide с testInfo.name + displayName первичного контекста как subtitle, ждёт 1.5с через ctx.wait() и убирает. В обычном регрессе (без --record) — ветка скипается, overhead ноль. Под --record: 01-navigation 12.1s → 13.9s (+1.8с на слайд). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
588382cec1
commit
43ed9ba142
@@ -1,4 +1,4 @@
|
||||
// _hooks.mjs v0.3 — автономный тестовый стенд для web-test + testlevel-хуки
|
||||
// _hooks.mjs v0.4 — автономный тестовый стенд для web-test + testlevel-хуки + title slides
|
||||
//
|
||||
// `prepare()` поднимает изолированный стенд по smart-логике:
|
||||
// 1) Если нужно пересоздавать БД (config-rebuild или --reload-data) — web-stop
|
||||
@@ -324,9 +324,31 @@ export async function afterAll(_ctx) {
|
||||
_state.events.push('afterAll');
|
||||
}
|
||||
|
||||
// Длительность показа title slide перед телом теста (секунды). Эмпирически
|
||||
// 1.5с хватает чтобы в записанном видео слайд успел зацепиться кадром,
|
||||
// и не слишком долго на тестах вроде 14-routing (~2.5с целиком).
|
||||
const TITLE_SLIDE_SEC = 1.5;
|
||||
|
||||
export async function beforeEach(ctx) {
|
||||
_state.beforeEach++;
|
||||
_state.events.push(`beforeEach:${ctx.testInfo?.file || '?'}`);
|
||||
|
||||
// M7.5: title slide для `--record`-прогонов. Под обычным регрессом
|
||||
// (isRecording === false) пропускаем — лишние ~1.5s × N тестов
|
||||
// не нужны.
|
||||
if (ctx.isRecording?.()) {
|
||||
const info = ctx.testInfo;
|
||||
const primary = info.contexts?.[info.primaryContext];
|
||||
const subtitle = primary?.displayName || '';
|
||||
try {
|
||||
await ctx.showTitleSlide(info.name, { subtitle });
|
||||
await ctx.wait(TITLE_SLIDE_SEC);
|
||||
await ctx.hideTitleSlide();
|
||||
} catch {
|
||||
// Не валим тест из-за оформления — recorder/page-state могут
|
||||
// не сложиться в редких сценариях (race на старте контекста).
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export async function afterEach(ctx) {
|
||||
|
||||
Reference in New Issue
Block a user