[Javascript] 測試: puppeteer

puppeteer
https://github.com/GoogleChrome/puppeteer

puppeteer web
https://pptr.dev/

Puppeteer 入門
https://blog.csdn.net/wuxing164/article/details/80986687

大前端神器安利之 Puppeteer
https://juejin.im/entry/5a3aa0e86fb9a045076fd385

[譯] Puppeteer 與 Chrome Headless —— 從入門到爬蟲
https://hk.saowen.com/a/2bc7e8b4bc04a68a5a334baa43ebcb5759aa0e10f56faa8a06423a1fba879541

puppeteer 自動點擊
https://cnodejs.org/topic/5a238b818eab6ee92a694622

Puppeteer自動化測試滑鼠鍵盤基本操作及注意事項
https://blog.csdn.net/Revivedsun/article/details/82121123

Puppeteer的入門教程和實踐
https://www.jianshu.com/p/2f04f9d665ce

Puppeteer 配置流覽器屬性
https://www.lfhacks.com/tech/puppeteer-browser-options

Puppeteer screenshot code
https://bitbucket.org/petarvasilev/puppeteer-screenshots/src/8fb1909b81c7cca96c5486b2928e2ea580c2171b/screenshot.js?at=master&fileviewer=file-view-default

puppeteer注入函數
https://stackoverflow.com/questions/48207414/how-can-i-dynamically-inject-functions-to-evaluate-using-puppeteer

Puppeteer(中文翻譯”木偶”) 是 Google Chrome 團隊官方的無介面(Headless)Chrome 工具,它是一個 Node 庫,提供了一個高級的 API 來控制 DevTools協議上的無頭版 Chrome 。也可以配置為使用完整(非無頭)的 Chrome。Chrome 素來在流覽器界穩執牛耳,因此,Chrome Headless 必將成為 web 應用自動化測試的行業標杆。使用 Puppeteer,相當於同時具有 Linux 和 Chrome 雙端的操作能力,應用場景可謂非常之多。

你可以在流覽器中手動完成的大部分事情都可以使用 Puppeteer 完成!你可以從以下幾個示例開始:
1.生成頁面的截圖和PDF
2.抓取SPA並生成預先呈現的內容(即“SSR”)
3.從網站抓取你需要的內容
4.自動表單提交,UI測試,鍵盤輸入等
5.創建一個最新的自動化測試環境。使用最新的JavaScript和流覽器功能,直接在最新版本的Chrome中運行測試
6.捕獲您的網站的時間線跟蹤,以説明診斷性能問題

模擬登入設備:
const devices = require('puppeteer/DeviceDescriptors');
const iPhone = devices['iPhone 6'];

忽略https認證錯誤:
launch({
  ignoreHTTPSErrors : true
})

輸入啟動參數:
launch({args: [
            `--window-size=${width},${height}`
        ]
})

注入函數:
await page.addScriptTag({ content: `${functionToInject} ${otherFunctionToInject}`})

執行網頁內js函數:
await page.evaluate(function(){
    console.log('woo I run inside a browser')
    return functionToInject() + otherFunctionToInject()
})


#Javascript, puppeteer, browser, control, crawler, nodejs, 爬蟲, 瀏覽器, 控制

留言