谷歌 Chrome 团队发布了 puppeteer,提供了很多实用功能,Chrome 59 版本后将支持 headless 模式。
特性
除了有吸引力的截图和导出 PDF 外,puppeteer 还提供了很多有价值的特性。基于puppeteer 可以更加轻松地做服务端渲染、爬虫应用等,当然 puppeteer 也为自动化测试领域带来了便利。
在面向 web 的测试方向,Macaca 一直在不断尝试开发更新更快、能力更强的驱动,为用户带来最佳的实践选择。目前已经提供的测试驱动:
macaca-chrome:macaca-chrome 基于 chromedriver,是谷歌最早推出的自动化驱动。
macaca-electron:macaca-electron 是基于开发平台 Electron。一年多以前选择基于 Chromium 的 Electron 平台,而没有选择基于 Webkit 的 phantomjs,是因为使用 Chromium 更加直接,Electron 更加面向未来。(今年4月,phantomjs 作者已宣布放弃维护)
与 Electron 和 phantomjs 相比,puppeteer 有如下差异特性:
- 更新更加频繁,始终与 Chromium 最新版同步
- 集成环境不再需要 Xvfb (由于是纯粹的无头实现,已经不需要内存屏幕)
- 能够导出 PDF
- 对移动端、文件上传、处理alert上更加友好
如何上手?
直接使用 macaca-puppeteer 驱动即可,已有的 API 可以直接无缝切换。
https://macacajs.github.io/versioning
赞