跳到主要内容

SnapshotAssertions

Playwright 提供了比较页面和元素截图与文件中存储的预期值的方法。

expect(screenshot).toMatchSnapshot('landing-page.png');

方法

toMatchSnapshot(name)

添加于: v1.22 snapshotAssertions.toMatchSnapshot(name)
警告

如需比较截图,请改用 expect(page).toHaveScreenshot()

确保传入的值(可以是 stringBuffer)与测试快照目录中存储的预期快照匹配。

用法

// 基本用法
expect(await page.screenshot()).toMatchSnapshot('landing-page.png');

// 传递选项来自定义快照比较并生成名称
expect(await page.screenshot()).toMatchSnapshot('landing-page.png', {
maxDiffPixels: 27, // 允许最多27个不同像素
});

// 配置图像匹配阈值
expect(await page.screenshot()).toMatchSnapshot('landing-page.png', { threshold: 0.3 });

// 通过传递文件路径片段来组织快照文件结构
expect(await page.screenshot()).toMatchSnapshot(['landing', 'step2.png']);
expect(await page.screenshot()).toMatchSnapshot(['landing', 'step3.png']);

了解更多关于 视觉比较 的信息。

注意:快照匹配功能仅适用于 Playwright 测试运行器。

参数

  • name string | Array<string>#

    快照名称

  • options Object (可选)

    • maxDiffPixelRatio number (可选)#

      可接受的不同像素与总像素的比率,范围在 01 之间。默认值可通过 TestConfig.expect 配置。默认未设置。

    • maxDiffPixels number (可选)#

      可接受的不同像素数量。默认值可通过 TestConfig.expect 配置。默认未设置。

    • threshold number (可选)#

      YIQ 色彩空间 中,比较图像相同像素之间可接受的感知色差,范围在零(严格)到一(宽松)之间,默认值可通过 TestConfig.expect 配置。默认为 0.2


toMatchSnapshot(options)

添加于: v1.22 snapshotAssertions.toMatchSnapshot(options)
警告

如需比较截图,请改用 expect(page).toHaveScreenshot()

确保传入的值(可以是 stringBuffer)与存储在测试快照目录中的预期快照匹配。

用法

// 基本用法,文件名从测试名称派生
expect(await page.screenshot()).toMatchSnapshot();

// 传递选项来自定义快照比较并生成名称
expect(await page.screenshot()).toMatchSnapshot({
maxDiffPixels: 27, // 允许最多27个不同像素
});

// 配置图像匹配阈值和快照名称
expect(await page.screenshot()).toMatchSnapshot({
name: 'landing-page.png',
threshold: 0.3,
});

了解更多关于视觉比较的信息。

注意:快照匹配功能仅适用于 Playwright 测试运行器。

参数

  • options Object (可选)
    • maxDiffPixelRatio number (可选)#

      可接受的不同像素与总像素的比率,范围在 01 之间。默认值可通过 TestConfig.expect 配置。默认未设置。

    • maxDiffPixels number (可选)#

      可接受的不同像素数量。默认值可通过 TestConfig.expect 配置。默认未设置。

    • name string | Array<string> (可选)#

      快照名称。如果未传递,当多次调用时会使用测试名称和序号。

    • threshold number (可选)#

      在比较图像中相同像素之间可接受的感知颜色差异(基于 YIQ 色彩空间),范围从零(严格)到一(宽松),默认值可通过 TestConfig.expect 配置。默认为 0.2