In this lesson we are going to use Google's Puppeteer to gather metrics about a page's load time. We'll use a high level date subtraction method as well as gather data from the window performance timing. Then see how throttling the network to 3G affects the page's load time.

const getPageMetrics = async ()  => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.waitFor(1000); //delay 1 s // 3G metwork
await page._client.send('Network.emulateNetworkConditions', {
offline: false,
latency: 200,
downloadThroughput: 780*1024 / 8,
uploadThroughput: 300*1024/8
})
await page.goto('https://developers.google.com/web/'); const pref = await page.evaluate( _ => {
const {loadEventEnd, navigationStart} = window.performance.timing;
return ({
loadTime: loadEventEnd - navigationStart
})
}) console.log(`It took: ${pref.loadTime}ms`)
}

About 'winidow.profermence.timing', please check link.

About Chrom devtool protcol, please check link.

最新文章

  1. ActiveMQ笔记(1):编译、安装、示例代码
  2. 利用libpcap打印ip包
  3. 从0开始学Java——JSP和Servlet——jsp转servlet出错的三个典型场景
  4. 精通phthon的条件
  5. Power of Cryptography
  6. java大牛list
  7. 1.怎样控制div中的图片居中
  8. 贝叶斯来理解高斯混合模型GMM
  9. Android查缺补漏(线程篇)-- IntentService的源码浅析
  10. 快速安装puppeteer (跳过安装Chromium)
  11. python的变量与注释
  12. Maven classifier 元素妙用
  13. easyUI tree 自定义图标
  14. nginx配置长连接
  15. Catch That Cow--POJ3278
  16. 深度学习中的Normalization模型
  17. NAS、SAN和DAS的区别
  18. 深入理解Eureka - Eureka配置列表
  19. Java 枚举(enum) 的常见用法和开发规范
  20. BZOJ 1293 生日礼物(尺取法)

热门文章

  1. POJ 1950
  2. Java多线程演示样例(模拟通话,sleep,join,yield,wait,notify,Semaphore)
  3. 派生类地址比基类地址少4(CDerived对象的起始地址存放的是虚表指针vptr,也就是子类的第一项内容。接下来的是基类的成员变量,接下来再是自身的成员变量)
  4. AngularJS 下拉列表demo
  5. HTML5-1、标签
  6. crawler4j多线程爬虫统计分析数据
  7. php-fpm配置笔记
  8. 欢迎来到SQL学院
  9. C#操作sql时注意点
  10. UWP tips (与wp8.1的不同)