Cypress 测试如何进行界面样式校验

阅读时长 4 分钟读完

Cypress 是一个流行的前端自动化测试工具,其优秀的 API 和易用性在测试领域备受欢迎。它支持我们对于应用程序的功能进行测试,同时还可以对 UI 进行测试,其中一项重要的 UI 测试是界面样式校验。

在正式开始之前需要确认一下,我们想要校验的样式是指 "样式" 层面的校验;

  • 并非布局(Layout)检查,例如元素的相对位置、大小等
  • 也不是业务(Business)检查,例如文字的正确性、跳转链接的正确性等

样式检查的方法

样式检查的基本思路是:

  • 在某个元素上取得其计算后的样式。
  • 检查对应的样式属性是否符合预期。
  • 验证样式是否符合设计规范。

其中,在某些特定的情况下,需要区分出不同的检查方式来获取计算后的样式与预期样式,并进行对比:

  1. 全局通配符
  2. 重置样式
  3. 继承样式
  4. calc 的精度问题
  5. less/sass/... 的处理
  6. 浏览器兼容性问题(如果存在)

鉴于这个背景,Cypress 为我们提供了一些解决方案来处理样式检测问题。下面就具体的讲一下。

通过属性检查样式

Cypress 是利用 jquerify 来取得被测应用的 DOM 节点的,然后就可以利用 jQuery API 来查找节点以及属性,具体的用法如下:

自定义样式检查

有时候,针对一些需要定制的检查要求,可以自定义检查方法:

-- -------------------- ---- -------
----------------------------- - ------------ ---------- -- --------- --------- -- -
  ----- --- - ------- - ------------------------------------ - ------------------
  ----- -- - --------------------------------
  ------ -----------------------------------------
--

-- --------
--
  --------------
  ---------------------
  ----------------- -------

验证访问 URL 页面信息

在判断是否符合设计规范,还需要获得样式规范,相应的实现方法可以在访问的 URL 页面中添加访问其中的信息,如下:

生成快照

可以借助第三方插件 cypress-plugin-snapshots 的能力来生成快照:

使用示例:

每一个标记为 snapshot 的截图需要你人工的验证:是新的截图所期望的状态、还是最近的属性调整引起的问题。

总结

上述内容介绍了使用 Cypress 进行界面样式校验的基本方法与技巧。具体应用需要结合实际场景灵活运用。当 UI 样式规范越来越重要的时候,我们可以使用这些方法来保证前端应用代码在视觉上的一致性。

感谢阅读本篇文章,期待你们在日常工作中的实际应用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64f7fb2bf6b2d6eab302b32c

纠错
反馈