mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-14 23:05:16 +03:00
feat(web-test): T4.6 — гибридные режимы изоляции контекстов (tab default, window opt-in)
browser.mjs v1.12 + run.mjs v1.9: createContext принимает isolation параметр. По умолчанию 'tab' — все контексты живут в одном launchPersistentContext, каждый слот получает свою Page (вкладку). Преимущества: 1С extension грузится надёжно (через --load-extension в persistent profile), один процесс Chromium, дешёвая память. Cookies делятся между вкладками, но скоупятся по URL-path — для модели «разные пользователи через разные vrd-публикации» это естественно и достаточно. isolation: 'window' (opt-in) — старый путь chromium.launch() + newContext(): полная изоляция cookies, отдельный BrowserContext (и окно) на каждый слот, но extension может не подняться. Использовать когда нужна изоляция auth внутри одного URL. Смешивать режимы в одном прогоне нельзя — createContext бросает явную ошибку (первый createContext устанавливает activeMode, остальные обязаны совпадать). Конфиг tests/web-test/webtest.config.mjs: добавлен комментарий с описанием обоих режимов. По умолчанию tab — синтетика и наши smoke-тесты идут им. Live: 11/12 в полном прогоне (default tab) + 3/3 sanity-check в window mode (01-navigation + 14 + 15). Видеозапись из T4.5 работает в обоих режимах. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -7,5 +7,10 @@ export default {
|
||||
b: { url: 'http://localhost:8081/webtest/ru_RU' },
|
||||
},
|
||||
defaultContext: 'a',
|
||||
// isolation: 'tab' (default) — persistent context, tabs in one window, 1С extension loads.
|
||||
// Cookies are shared between tabs but scope by URL path, so different vrd-publications
|
||||
// give independent auth without extra isolation.
|
||||
// isolation: 'window' — separate BrowserContext per slot, full cookie isolation,
|
||||
// extension may not load (Playwright limitation). Use only when really needed.
|
||||
timeout: 60000,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user