mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-10 16:14:54 +03:00
6c19846051
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>
17 lines
859 B
JavaScript
17 lines
859 B
JavaScript
// Default config for tests/web-test. CLI URL still overrides defaultContext URL.
|
||
// Two contexts pointing at the same webtest publication — represent two independent
|
||
// 1C sessions (different cookies), used by multi-context tests to simulate two users.
|
||
export default {
|
||
contexts: {
|
||
a: { url: 'http://localhost:8081/webtest/ru_RU' },
|
||
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,
|
||
};
|