Перейти к основному содержимому

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 и используется им. Не меняйте состояние доменов, занятых раннером, без понимания взаимодействия.

warning

Это нестабильный 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().
});

См. также​