跳到正文

本页为机器翻译,尚未经过人工审校。以英文版本为准。

使用

该插件只添加一条命令:matchImage。测试这一侧的全部 API 就是它。

比对某个元素或整个页面

cy.get('.an-element-of-your-choice').matchImage();

// 或者对整个页面截图
cy.matchImage();

配置一次比对

选项按每次调用传入。完整列表及默认值在配置页面。下面是大家最常先用到的几个:

cy.matchImage({
  // 透传给 Cypress 的截图 API
  screenshotConfig: { blackout: ['.element-to-be-blackouted'] },
  // pixelmatch 选项
  diffConfig: { threshold: 0.01 },
  // 自动创建尚不存在的基线(默认:true)
  createMissingImages: false,
  // 覆盖基线:true | 'failures-only' | false(默认:false)
  updateImages: false,
});

清理未使用的图片

测试被重命名或删除后,基线会越积越多。这样运行一次,会删掉所有没被任何测试碰过的插件图片:

npx cypress run --expose "pluginVisualRegressionCleanupUnusedImages=true"

这么做时请跑完整个测试套件。如果只筛选了几个 spec,被跳过的 spec 的基线也会被算作未使用。

在低于 15.10 的 Cypress 版本中还没有 --expose。请改用 --env 传入同一个键。

更多

其余内容都在配置页面。有什么不清楚的,或者有想法,GitHub discussions 就是我们聊这些的地方。

翻译有问题?帮助我们,自己动手修改。