Как использовать persistent context с расширениями при удалённом подключении через Aerokube Moon в Playwright?
Я работаю с Playwright и настраиваю тестирование через Aerokube Moon. В конфигурации я использую удалённое подключение к браузеру через chromium.connect, что позволяет передавать дополнительные параметры через URL. Пример кода:
if (moonConfig.enableMoon) { console.log("Запуск теста через Aerokube - Moon");
const wsUrl = new URL(moonConfig.remoteUrl);
// Для каждого ключа в capabilities:
// Если значение является массивом — добавляем каждый элемент как отдельный параметр,
// иначе — устанавливаем параметр напрямую.
for (const [key, value] of Object.entries(moonConfig.capabilities)) {
if (Array.isArray(value)) {
for (const item of value) {
wsUrl.searchParams.append(key, item);
}
} else {
wsUrl.searchParams.set(key, value);
}
}
this.browser = await chromium.connect({ wsEndpoint: wsUrl.toString() });
this.context = await this.browser.newContext({ viewport: { width: 1920, height: 1080 } });
this.page = await this.context.newPage();
}
Однако проблема в том, что newContext() создает инкогнито контекст, в котором невозможно использовать расширения. Мне требуется persistent context (с возможностью подключения расширений), который обычно создаётся через метод launchPersistentContext.
Если попытаться использовать launchPersistentContext, компилятор или рантайм выдает ошибку типов, так как этот метод не поддерживается при удалённом подключении через chromium.connect