对程序进行测试有很多方法。从微型的单元测试开始,到更大型的用户界面测试。Puppeteer绝对属于后一种。
Puppeteer宣传自己是
一个Node库,它提供了一组高级API,通过DevTools协议控制无界面Chrome。
简而言之,基于Chrome Devtools协议,Puppeteer可以让用户界面测试变得很轻松。而所有这一切都是免费的。
什么是Puppeteer?
Puppeteer是一个用户界面自动化工具。它通过使用Chrome无界面模式和DevTools协议的组合来实现这一点。正如上面的引用所言,它使用一个更上层的API来封装其功能,让用户界面测试自动化变得轻而易举。
人们基于Chrome DevTools协议开发了一系列Google Chrome工具。你在浏览器中点击更多工具 ->开发工具,打开的就是DevTools。DevTools协议是DevTools的动力基础,我们现在可以使用Chrome中的DevTools来做更多的事情。
无界面Chrome是没有Chrome的Chrome。是的,你没看错。它允许你从浏览器之外的环境(即命令行)与Chromium进行交互。
将Chromium和Blink渲染引擎带入命令行使得很多事情变得可行,比如自动化测试。
安装
安装很简单,可以通过yarn或npm来完成。只需运行下面的命令:
yarn add pupeeter# or "npm i puppeteer"之后可以像其它nodejs程序一样用node来运行。
创建截图
有时你想测试像CSS这样的东西,确保网站观感没有出现回退。