Skip to main content

报告对比

不同运行的UI覆盖率报告可以在Cypress Cloud的分支评审区域进行对比。这使您能够了解任意两个时间点之间覆盖率的具体变化,揭示应用程序变更或测试代码更新对整体覆盖范围的影响。

UI覆盖率分支评审界面,展示两次运行间的覆盖率变化,高亮显示新增未测试元素、已解决的覆盖率缺口以及覆盖率状态发生变化的元素

使用场景

对比不同运行结果在多种场景下非常有用。

主要应用场景:

  • 合并前检查:了解UI代码变更是否引入了任何新增未测试元素。
  • 监控变更:对比夜间监控运行结果,追踪由应用程序意外变更导致的覆盖率变化。
  • 审查AI生成的代码变更:AI越来越多地用于生成和/或审查测试代码和应用程序代码,这会增加覆盖率降低或产生冗余覆盖的风险。
  • 追踪问题引入:通过每次运行的下拉菜单,可以快速对比不同A/B运行,准确找到引入问题的提交。
  • 展示问题修复:确认改进效果,并与团队分享概要以加速变更审查。

报告内容

分支评审报告分为三个部分:

未测试链接

UI覆盖率分支评审界面,展示变更运行中新增的未测试链接(这些链接在基准运行中不存在)

未测试链接代表应用程序中未开启的门户——用户可以通过UI访问但未被Cypress测试的页面。本报告显示变更运行中新增的未测试页面(这些页面在基准运行中不存在)。

未测试元素

UI覆盖率分支评审界面,展示变更运行中新增的未测试元素(这些元素在基准运行中不存在或未被测试)

未测试交互元素增加可能有两个原因:

  1. 在变更运行中,测试不再操作基准运行中曾被操作过的元素。元素仍然存在,但测试代码发生了变化。
  2. 在变更运行中,出现了基准运行中不存在的新元素,且这些元素未被测试。这发生在应用程序代码变更但测试未同步更新时。

两种变更都值得审查,虽然原因不同,但提高覆盖率的方法是相同的。可以通过Cypress测试这些元素来提高覆盖率分数,如果元素不重要也可以通过配置忽略。

新增链接、元素和视图

UI覆盖率分支评审界面,展示变更运行相比基准运行新增的链接、元素和视图汇总

这是变更运行中所有新增内容的汇总,包括已测试和未测试项。这是对比两个应用程序构建版本的有效方式,可了解应用程序本身变更与整体覆盖率指标的关联。

详情视图

仅显示新增未测试元素的列表,其中登出链接显示为红色并带有指向它的工具提示

点击任何未测试链接或元素将进入详情视图,您可以查看两次运行间具体变更元素的所有实例。此处会过滤掉两次运行状态相同的元素,让您只专注于变更部分。

如何对比运行

第一步是进入Cypress Cloud的分支评审区域,这里可以对比不同分支——或同一分支的不同运行(如果需要)。您可以通过点击运行关联的分支名称或其他多种方式访问该区域。了解更多对比运行的方法

常见问题

如何确保有效对比?

最佳对比对象是在相同内容集上执行相似测试的通过运行。这意味着每次运行访问了大致相同的页面并完成了相同类型的工作流。这种情况下,结果差异很可能是新运行中变更导致的。这通常是直接对比拉取请求分支与主分支时的默认情况。

也就是说,只要您清楚两次运行间所有潜在差异来源,对比不同时间点、不同测试结果集的运行仍然是可行且有效的,您可以在查看结果时自行评估。

要查看整个测试套件的统一变更,您需要将每次报告的所有测试分组到单个Cypress运行中。详见分支评审最佳实践文档

Beta标签的意义是什么?

这表示该功能已可供使用,并基于当前实现的实际使用情况积极寻求反馈。在我们认为功能完全生产就绪并移除beta标签前,还有一些已知问题需要解决。这些问题仅影响部分项目——大多数情况下功能都按预期工作。如发现任何异常,请使用反馈按钮告知我们。

为什么我看到某些视图(页面或组件)在不同运行间变化?

带有动态slug的URL在某些情况下可能显示为"新"页面。可以通过视图配置调整此行为,通过按需对URL部分使用通配符来确保跨运行时页面名称匹配。