使用Puppeteer / Headless Chrome报告性能指标

时间:2018-01-03 08:50:16

标签: performance-testing puppeteer google-chrome-headless

我正在试验Puppeteer使用无头Chrome并试图找到如何报告第一次涂漆的时间。我一直在查看Chrome DevTools Performance API并注意到有一个Performance.metrics但是当我订阅该事件时它从未触发过。

const client = page._client
await client.send('Page.enable')
await client.send('DOM.enable')
await client.send('Performance.enable')
client.on('Performance.metrics', (obj) => {
   console.log({obj})
})
await page.goto('http://example.com', {waitUntil: 'networkidle2'})

但事件观察员从未被解雇过。关于如何从Performance中观察指标数据的任何建议?

1 个答案:

答案 0 :(得分:7)

如果您询问First Meaningful Paint,可以使用以下方式获取:

await page.goto('http://example');

await page.waitFor(1000);
const performanceMetrics = await page._client.send('Performance.getMetrics'); 
console.log(performanceMetrics);

我写了一篇文章"Test website performance with Puppeteer",其中有一章专门用于衡量FirstMeaningfulPaint