對程序進(jìn)行測試有很多方法。從微型的單元測試開始,到更大型的用戶界面測試。Puppeteer絕對屬于后一種。
Puppeteer宣傳自己是
一個Node庫,它提供了一組高級API,通過DevTools協(xié)議控制無界面Chrome。
簡而言之,基于Chrome Devtools協(xié)議,Puppeteer可以讓用戶界面測試變得很輕松。而所有這一切都是免費的。
什么是Puppeteer?
Puppeteer是一個用戶界面自動化工具。它通過使用Chrome無界面模式和DevTools協(xié)議的組合來實現(xiàn)這一點。正如上面的引用所言,它使用一個更上層的API來封裝其功能,讓用戶界面測試自動化變得輕而易舉。
人們基于Chrome DevTools協(xié)議開發(fā)了一系列Google Chrome工具。你在瀏覽器中點擊更多工具 ->開發(fā)工具,打開的就是DevTools。DevTools協(xié)議是DevTools的動力基礎(chǔ),我們現(xiàn)在可以使用Chrome中的DevTools來做更多的事情。
無界面Chrome是沒有Chrome的Chrome。是的,你沒看錯。它允許你從瀏覽器之外的環(huán)境(即命令行)與Chromium進(jìn)行交互。
將Chromium和Blink渲染引擎帶入命令行使得很多事情變得可行,比如自動化測試。
安裝
安裝很簡單,可以通過yarn或npm來完成。只需運行下面的命令:
yarn add pupeeter# or "npm i puppeteer"之后可以像其它nodejs程序一樣用node來運行。
創(chuàng)建截圖
有時你想測試像CSS這樣的東西,確保網(wǎng)站觀感沒有出現(xiàn)回退。