addyosmani / puppeteer-webperf

Automating Web Performance testing with Puppeteer 🎪
Apache License 2.0
1.81k stars 90 forks source link

first-contentful-paint.js: Cannot read property 'startTime' of undefined #11

Open nucliweb opened 4 years ago

nucliweb commented 4 years ago

I can't see the problem, but I have an error running the script first-contentful-paint.js.

Error

➜ node first-contentful-paint.js
First paint: 111.78500001551583
(node:4558) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'startTime' of undefined
    at /Users/joan.leon/projects/PerfReviews/.../puppeteer-webperf/first-contentful-paint.js:24:55
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
(node:4558) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:4558) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I have try to print the firstContentfulPaint value, and he has an empty array.


➜ node first-contentful-paint.js
firstContentfulPaint: []
First paint: 113.004999991972
``
MichaelDurfey commented 3 years ago

This might have happened because your navigation event is not waiting for the page to be fully loaded. Try this page.goto(url, { waitUntil: 'networkidle2' }), or you could try networkidle0