先提供一个我用的包含puppeteer的docker镜像
puppeteer可以使用Network.emulateNetworkConditions和Emulation.setCPUThrottlingRate轻松地模拟不同的网络请求。但是,这一个CPU节流器只是相对延缓你的CPU,在不同的机器我们会得到不同的结果,所以我们必须要统一一个环境来运行我们的程序。
于是docker出现在了我的视野中。记录一下docker的常用命令
在这里,我主要是利用puppeteer执行一段脚本,然后再从docker容器中,向宿主机post结果回去。
--net=host参数可以让容器共享主机的netowrk,但是仅仅限于linux
在windows和imac上这样是无效的,在docker18.03以上的版本,内置了这样的一个特殊的域名来解决这个问题
host.docker.internal
数组中的对象有一个ts属性,ts/1000 - navigationStart算出当前加载时间
下面是关于本次踩坑查到的一些资料
网站性能测试利器:Puppeteer trace.json如何使用 trace.json另一个issue
在centos上安装puppeteer时,会有一些基本库安装不上,尝试使用如下命令安装
下载的chromium引用路径事例