Puppeteer - 截圖



在使用 Puppeteer 開發自動化測試時,我們可以使用 screenshot 方法來捕獲螢幕截圖。通常情況下,如果遇到應用程式錯誤、測試用例失敗等情況,我們會捕獲螢幕截圖。

語法

在 Puppeteer 中捕獲螢幕截圖的語法如下:

await page.screenshot({
   path: 'tutorialspoint.png'
})

這裡,將螢幕截圖儲存到的路徑作為引數傳遞給方法。這樣,只會捕獲網頁的可視部分。要捕獲全頁面螢幕截圖,我們必須傳遞另一個名為 fullPage 的引數,並將其值設定為 true。

語法

語法如下:

await page.screenshot({
   path: 'tutorialspoint.png', fullPage: true
})

讓我們捕獲以下頁面的螢幕截圖:

Screenshot

首先,按照 Puppeteer 基本測試章節中的步驟 1 到步驟 2 操作,步驟如下:

步驟 1 - 在建立 node_modules 資料夾的目錄(Puppeteer 和 Puppeteer core 已安裝的位置)中建立一個新檔案。

Puppeteer 的安裝細節在 Puppeteer 安裝章節中討論。

右鍵單擊建立 node_modules 資料夾的資料夾,然後單擊“新建檔案”按鈕。

Node Modules

步驟 2 - 輸入檔名,例如 testcase1.js。

Testcase1.JS

步驟 3 - 在建立的 testcase1.js 檔案中新增以下程式碼。

//adding Puppeteer library
const pt = require('puppeteer');
pt.launch().then(async browser => {
   //browser new page
   const p = await browser.newPage();
   //set viewpoint of browser page
   await p.setViewport({ width: 1000, height: 500 })
   //launch URL
   await p.goto('https://tutorialspoint.tw/index.htm')
   //capture screenshot
   await p.screenshot({
      path: 'tutorialspoint.png'
   });
   //browser close
   await browser.close()
})

步驟 4 - 使用以下命令執行程式碼:

node <filename>

因此,在我們的示例中,我們將執行以下命令:

node testcase1.js
Launched in the Browser

命令成功執行後,將在 page 目錄中建立一個名為 tutorialspoint.png 的新檔案。它包含在瀏覽器中啟動的頁面的捕獲螢幕截圖。

廣告
© . All rights reserved.