Puppeteer - 捕获屏幕截图


我们可以使用屏幕截图方法在 Puppeteer 中开发自动化测试时捕获屏幕截图。如果我们遇到应用程序错误、测试用例失败等,通常会捕获屏幕截图。

句法

在 Puppeteer 中捕获屏幕截图的语法如下 -

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

这里,保存屏幕截图的路径作为参数传递给该方法。这样,仅捕获网页的可见部分。要捕获全页屏幕截图,我们必须传递另一个名为 fullPage 的参数并将其值设置为 true。

句法

语法如下 -

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

让我们捕获以下页面的屏幕截图 -

截屏

首先,请按照《Puppeteer 基本测试》一章中的步骤 1 至 2 进行操作,如下所示 -

步骤 1 - 在创建 node_modules 文件夹的目录中创建一个新文件(Puppeteer 和 Puppeteer 核心的安装位置)。

Puppeteer 安装的详细信息将在 Puppeteer 安装章节中讨论。

右键单击创建 node_modules 文件夹的文件夹,然后单击“新建文件”按钮。

节点模块

步骤 2 - 输入文件名,例如 testcase1.js。

测试用例1.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://www.tutorialspoint.com/index.htm')
   //capture screenshot
   await p.screenshot({
      path: 'tutorialspoint.png'
   });
   //browser close
   await browser.close()
})

步骤 4 - 使用下面给出的命令执行代码 -

node <filename>

因此,在我们的示例中,我们将运行以下命令 -

node testcase1.js
在浏览器中启动

成功执行该命令后,会在页面目录中创建一个名为tutorialspoint.png 的新文件。它包含在浏览器中启动的页面的捕获屏幕截图。