Puppeteer
随着phantomjs的bug越来越多,也无人维护后,谷歌推出的Puppeteer已达60Kstar,替代是毫无疑问。如果不考虑浏览器兼容问题,Puppeteer的简洁的接口,更简单的Js语法,做自动化测试也是不错的方案。
Puppeteer是什么?
- Puppeteer官网:https://pptr.dev/ 建议FQ访问。
- Github地址:https://github.com/puppeteer/puppeteer
Puppeteer是一个Node库,它提供了高级API来通过DevTools协议控制Chrome或Chromium,简单理解成我们日常使用的Chrome的无界面版本,可以使用js接口进行进行操控。意味凡是Chrome浏览器能干的事情,Puppeteer都能出色的完成,比如:
- 生成页面的屏幕截图和PDF。
- 爬取SPA(单页应用程序)并生成预渲染的内容(即“ SSR”(服务器端渲染)),能抓取到所有能在页面正常渲染的内容,无论是html还是基于js的异步加载。
- 自动执行表单提交,UI测试,键盘输入,模拟用户登录等。
- 创建最新的自动化测试环境。使用最新的JavaScript和浏览器功能,直接在最新版本的Chrome中运行测试。
- 捕获时间线跟踪 您的网站以帮助诊断性能问题。
- 测试Chrome扩展程序。
安装Puuueteer
依赖npm,建议使用cnpmnpm i puppeteer
或者yarn add puppeteer
安装好后,会自动安装Chromium,大约100多M,目前puppe