unstable_getCdp
Обзор
Возвращает существующее подключение Testplane к Chrome DevTools Protocol для расширенной диагностики. Это объект CDP Testplane, а не браузер Puppeteer или его CDPSession.
Использование
browser.unstable_getCdp()
Параметры
У команды нет параметров.
Результат
Promise<CDP | null>. Возвращает null для не-Chromium-сессии или если Testplane не смог создать CDP-подключение.
Ограничения
Проверяйте результат на null. cdp.request(method, params?, cdpSessionId?) отправляет протокольный запрос; командам страницы может потребоваться идентификатор сессии подключенной цели. Доступны вспомогательные объекты target, runtime, network, page, dom, css, fetch, debugger и profiler. Их контракты также нестабильны. Не вызывайте cdp.close(): это общее подключение принадлежит Testplane и используется им. Не меняйте состояние доменов, занятых раннером, без понимания взаимодействия.
Это нестабильный API Testplane. Сигнатура, поведение и формат результата могут изменяться между версиями.
Пример
Запустите тест в Chromium-браузере с доступным CDP-подключением. Он читает данные о версии браузера, не меняет страницу и не закрывает общее подключение.
const assert = require("node:assert/strict");
it("unstable_getCdp: query the connected Chromium browser", async ({ browser }) => {
const cdp = await browser.unstable_getCdp();
assert.ok(cdp, "This test requires a Chromium session with a CDP connection");
const version = await cdp.request("Browser.getVersion");
assert.match(version.product, /Chrome/);
assert.equal(typeof version.protocolVersion, "string");
// Testplane owns this connection: do not call cdp.close().
});