Puppeteer - 设备模拟

我们可以在 Puppeteer 中使用移动配置运行测试,并检查网页的响应属性。Puppeteer 支持的设备列表可以从 Chrome DevTools 中获取。右键单击 Chrome 浏览器中打开的页面,然后选择"检查"。

选择检查

然后,单击"切换设备工具栏"。

切换设备工具栏

单击下拉菜单 - 响应式以获取设备列表。

响应式

要模拟设备,我们必须使用方法 emulate(),并将要模拟的设备作为参数传递给此方法。此方法的语法如下 −

const m = puppeteer.devices['iPhone X']
//模拟 iPhoneX
await page.emulate(m)

让我们使用 Puppeteer 中的模拟函数模拟设备 iPhone X。

首先,请按照 Puppeteer 基本测试章节中的步骤 1 到 2 进行操作,如下所示 −

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

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

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

Node Modules

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

Testcase1.JS

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

//Puppeteer 库
const puppeteer = require('puppeteer')
//以 headed 模式启动浏览器
puppeteer.launch({headless:false}).then(async browser => {
    //浏览器新页面
    const page = await browser.newPage()
    //将设备设置为 iPhone X
    const m = puppeteer.devices['iPhone X']
    //模拟 iPhoneX
    await page.emulate(m)
    //启动 URL
    await page.goto('https://www.tutorialspoint.com/index.htm')
    //捕获模拟设备的屏幕截图
    await page.screenshot({ path: 'iPhoneDevice.png'})
    //浏览器关闭
   await browser.close()
})

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

node <filename>

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

node testcase1.js
Iphone Device

成功执行命令后,页面目录中会创建一个名为 iPhoneDevice.png 的新文件。它包含 iPhone X 设备模拟网页的屏幕截图。