(cdp, expression, predicate, timeoutMs)
| 884 | } |
| 885 | |
| 886 | async function waitForValue(cdp, expression, predicate, timeoutMs) { |
| 887 | const startedAt = Date.now(); |
| 888 | while (Date.now() - startedAt < timeoutMs) { |
| 889 | const value = await evaluate(cdp, expression); |
| 890 | if (predicate(value)) { |
| 891 | return value; |
| 892 | } |
| 893 | await sleep(250); |
| 894 | } |
| 895 | throw new Error( |
| 896 | `Timed out waiting for expression: ${expression}\n${chromeOutput}`, |
| 897 | ); |
| 898 | } |
| 899 | |
| 900 | async function collectReadinessDiagnostics(cdp, clientId) { |
| 901 | const page = await evaluate( |
no test coverage detected