Puppeteer - 截屏

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

语法

在 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 核心的位置)内创建一个新文件。

有关 Puppeteer 安装的详细信息,请参阅 Puppeteer 安装一章。

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

Node Modules

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

Testcase1.JS

步骤 3 −在创建的 testcase1.js 文件中添加以下代码。

//添加 Puppeteer 库
const pt = require('puppeteer');
pt.launch().then(async browser => {
    //浏览器新页面
    const p = await browser.newPage();
    //设置浏览器页面的视点
    await p.setViewport({ width: 1000, height: 500 })
    //启动 URL
    await p.goto('https://www.tutorialspoint.com/index.htm')
    //捕获屏幕截图
    await p.screenshot({
    path: 'tutorialspoint.png'
    });
    //浏览器关闭
   await browser.close()
})

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

node <filename>

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

node testcase1.js
在浏览器中启动

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