什么是 cypress-image-snapshot
cypress-image-snapshot 是一个 npm 包,它可以让你使用 Cypress 来进行网站截图测试,并提供了一些工具来比较图片,如 diffPNG、pixelmatch 等等。它支持基于快照的测试方法,这样你可以在测试中捕获网站的屏幕截图,并与之前截取的“快照”进行比较。这样做可以确保你的网站、组件和样式在更新后仍然能够按照预期正确显示。
安装
在使用 cypress-image-snapshot 之前,你需要先安装 Cypress 环境。安装方法请参考官网文档。请确保你的 Cypress 版本号 >= 3.1.0。
在安装 Cypress 环境之后,可以使用以下命令来安装 cypress-image-snapshot:
--- ------- -- ----------------------
使用
在你的 Cypress 项目中创建一个目录,例如
tests/snapshots
。在测试文件中引入 cypress-image-snapshot:
------ - ---------------------------- - ---- -------------------------
注册快照命令:
------------------------------ ----------------- ----- -- -------- --------------------- ---------- -- ----- ----------------- - ---------- --- -- -- ------------ -------- ----------- -- ------ ---
这里我们将错误率设置为 0.05%,表示只要两张图片不同数量小于这个数字,就认为测试通过。如果需要更改更多属性,可以在官网文档中查找相应的设置属性。
在你的测试中调用命令:
---------- ----- ---------- -- -- - --------------------- -- - ----------------------- ------------- ----------- -- ---- -------- ----------- -- ------ --- --- ---
这里我们使用
matchImageSnapshot
来截取当前页面的屏幕快照并与之前生成的快照进行比较,如果两者不匹配或存在差异,则测试不通过。
示例代码
------ - ---------------------------- - ---- ------------------------- -------------- ---------------------- --- -- -- - --------- -- - -------------- --- ------------- -- - -------------- --- --- ------------ -- -- - ----------------------- ------------- ---------- --- --- ------------- -- -- - -------------------------------- ----------------------- ------------- --------- --- --- ---
结论
使用 cypress-image-snapshot 可以简化网站截图的自动化测试,同时也保证了你的网站或组件在更新后仍然能够正确显示。它可以轻松地捕获屏幕截图并与之前生成的快照进行比较,提高了测试效率和精度。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedaf5cb5cbfe1ea0610ff2