2026-09-20 19:30:46 +03:00
|
|
|
import { defineConfig, devices } from '@playwright/test';
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Playwright-конфигурация glchat: e2e-тесты идут против уже развёрнутого
|
|
|
|
|
* инстанса (адрес в GLCHAT_URL, по умолчанию стенд), а не поднимают сервер —
|
|
|
|
|
* так проверяется реальный путь через прокси, TLS и TURN (AGENT.md 11.2).
|
|
|
|
|
*/
|
|
|
|
|
export default defineConfig({
|
|
|
|
|
testDir: './e2e',
|
2026-09-22 22:28:10 +03:00
|
|
|
// Подготовка файла входами в пробные аккаунты упирается в лимит 5 входов в
|
|
|
|
|
// минуту на IP (AGENT.md 8.6): на живом стенде `beforeAll` не успевает за
|
|
|
|
|
// 180 секунд. Переменная поднимает лимит для прогонов на стенде.
|
|
|
|
|
timeout: Number(process.env.GLCHAT_E2E_TIMEOUT_MS ?? 180_000),
|
2026-09-20 19:30:46 +03:00
|
|
|
expect: { timeout: 20_000 },
|
|
|
|
|
fullyParallel: false,
|
|
|
|
|
workers: 1,
|
|
|
|
|
retries: 0,
|
|
|
|
|
reporter: [['list']],
|
|
|
|
|
use: {
|
|
|
|
|
baseURL: process.env.GLCHAT_URL ?? 'https://gl.mhspx.su',
|
|
|
|
|
ignoreHTTPSErrors: true,
|
|
|
|
|
trace: 'retain-on-failure',
|
|
|
|
|
launchOptions: {
|
|
|
|
|
// Фейковые медиа-устройства: Chromium отдаёт синтетический звук, поэтому
|
|
|
|
|
// проверяется реальная доставка аудио через LiveKit (AGENT.md 11.2).
|
|
|
|
|
args: [
|
|
|
|
|
'--use-fake-device-for-media-stream',
|
|
|
|
|
'--use-fake-ui-for-media-stream',
|
|
|
|
|
'--autoplay-policy=no-user-gesture-required',
|
|
|
|
|
'--no-sandbox',
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
projects: [{ name: 'chromium', use: { ...devices['Desktop Chrome'] } }],
|
|
|
|
|
});
|