29 lines
929 B
JavaScript
29 lines
929 B
JavaScript
|
|
import process from 'node:process'
|
||
|
|
import { chromium } from '@playwright/test'
|
||
|
|
|
||
|
|
const cdpBaseUrl = (process.env.E2E_PLAYWRIGHT_CDP_URL ?? process.env.E2E_CDP_BASE_URL ?? '').trim()
|
||
|
|
|
||
|
|
if (!cdpBaseUrl) {
|
||
|
|
throw new Error('E2E_PLAYWRIGHT_CDP_URL or E2E_CDP_BASE_URL is required')
|
||
|
|
}
|
||
|
|
|
||
|
|
console.log(`PROBE cdp=${cdpBaseUrl}`)
|
||
|
|
|
||
|
|
if (process.env.PROBE_PRECREATE_TARGET === '1') {
|
||
|
|
console.log('PROBE precreate-target=start')
|
||
|
|
await fetch(`${cdpBaseUrl}/json/new?about:blank`, { method: 'PUT' }).catch(async () => {
|
||
|
|
await fetch(`${cdpBaseUrl}/json/new?about:blank`)
|
||
|
|
})
|
||
|
|
console.log('PROBE precreate-target=done')
|
||
|
|
}
|
||
|
|
|
||
|
|
const browser = await chromium.connectOverCDP(cdpBaseUrl)
|
||
|
|
console.log(`PROBE connected contexts=${browser.contexts().length}`)
|
||
|
|
|
||
|
|
for (const [index, context] of browser.contexts().entries()) {
|
||
|
|
console.log(`PROBE context[${index}] pages=${context.pages().length}`)
|
||
|
|
}
|
||
|
|
|
||
|
|
await browser.close()
|
||
|
|
console.log('PROBE done')
|