fix(@wdio/lighthouse-service): wait until page is loaded

This commit is contained in:
Christian Bromann 2025-06-19 12:47:17 -07:00
parent bc4333dc75
commit d80354dbd0
No known key found for this signature in database
GPG key ID: 384D8F135CA99E2D

View file

@ -121,22 +121,28 @@ export default class DevToolsService implements Services.ServiceInstance {
} }
const url = await (browser as WebdriverIO.Browser).getUrl() const url = await (browser as WebdriverIO.Browser).getUrl()
const target = url !== 'data:,' ? const target = url !== 'data:,'
await puppeteer.waitForTarget( ? await puppeteer.waitForTarget(
/* istanbul ignore next */ async (t) => (
(t) => t.url().includes(url)) : t.url().includes(url) &&
await puppeteer.waitForTarget( !t.url().includes('BiDi-CDP Mapper') &&
/* istanbul ignore next */ Boolean(await t.page())
// @ts-expect-error )
(t) => t.type() === 'page' || Boolean(t._getTargetInfo().browserContextId)) )
: await puppeteer.waitForTarget(
async (t) => (
t.type() === 'page' ||
// @ts-expect-error
Boolean(t._getTargetInfo().browserContextId) &&
!!(await t.page())
)
)
/* istanbul ignore next */
if (!target) { if (!target) {
throw new Error('No page target found') throw new Error('No page target found')
} }
const page = await target.page() || null const page = await target.page()
/* istanbul ignore next */
if (!page) { if (!page) {
throw new Error('No page found') throw new Error('No page found')
} }