Skip to main content
Cypress云服务免费试用

分支审查

info
你将学到
  • 如何在Cypress Cloud中比较分支间的测试结果
  • 分支审查如何展示Pull Request对测试套件的影响
  • 如果不使用Pull Request工作流,如何比较任意两次运行
  • 测试运行分组的最佳实践

Cypress分支审查功能让你能在一个视图中快速识别Pull Request可能对测试套件产生的不同影响。比较源分支与基础分支之间哪些测试失败、不稳定、待处理、新增或修改。如果你的账户启用了相关功能,运行间的UI覆盖率或Cypress无障碍测试变更也会在此显示。

即使你没有使用Pull Request工作流,分支审查仍然很有用,因为它允许你比较任意选择的两次运行。这些可能代表应用程序的不同构建版本、测试代码的变更或夜间运行的结果。本页将使用GitHub集成创建的Pull Request为例,但使用分支审查并不需要此集成。

在软件开发生命周期(SDLC)中,一个常见场景是工程师的功能分支将被合并到代码库的developmain分支。以下是该场景在分支审查中的展示:

Cypress分支审查

没有分支审查时,要确定测试套件结果的变化需要手动并排比较新引入分支的测试运行与基础分支的测试运行。这种次优的工作流程往往无法回答基本问题:发生了什么变化_和_为什么? 你可能会困惑于相同测试在不同分支间是否不稳定、新失败是何时引入的,或者你是否为新分支添加了足够的测试覆盖率。

开始使用

分支审查区域的核心是基础运行与变更运行之间的比较。变更运行是比较的主要对象,通常与传入的Pull Request相关联。基础运行是比较的起点。

访问分支审查

根据查看Cypress结果的位置,有多种方式可以进入分支审查。在所有情况下,一旦选择了变更运行,你可以将自动选择的基础运行调整为项目中的任何分支或运行,以聚焦你最关心的比较。

从项目列表

项目卡片显示项目的三个活跃分支。你可以点击其中任何一个进入以该分支为中心的分支审查。

显示示例项目名称和相关分支选择的卡片。

从主导航

当项目打开时,在主导航中选择"Branches"以查看完整的、可筛选的可用分支列表,并选择其中一个作为变更运行的来源。

Cypress Cloud主导航显示Latest Runs、Branches和Analytics菜单项。箭头指向Branches。

从运行概览页面

点击与运行关联的分支名称。这将带你进入分支审查,并预选该运行作为变更运行。这是调查测试结果异常的特定运行的好方法。

两张卡片显示Cypress测试运行的各种详细信息,包括通过/失败计数和元数据。箭头指向分支名称。

从Pull Request

点击测试结果表格底部的"View all changes introduced in this branch"链接。你将进入分支审查,当前PR的分支和最新运行已预选为变更运行。

来自Cypress的Pull Request评论,箭头指向'View all changes introduced in this branch'链接。评论中还可见测试结果和一些无障碍评分及违规信息。项目无障碍评分为86.86%,有9个失败元素。失败规则计数为1个严重、1个重要、3个中等和0个轻微。

与Pull Request集成

分支审查中的Pull Request通过利用Cypress Cloud的GitHub集成查询GitHub API获取带有Pull Request的分支来工作。你的项目首先需要连接到GitHub仓库。如果尚未连接,请按照安装Cypress GitHub应用中的步骤将项目连接到GitHub。

当Pull Request连接后,你将能够通过关联的PR选择运行:

变更运行下拉菜单中最新pull request的列表
info

注意: 如果没有看到与分支关联的PR #标签,你可能需要传递PR编号作为环境变量给运行。这有助于确保Cypress Cloud能正确映射PR数据。

最新运行

如果所选分支有关联的PR且通过CI传递了PR #,Latest runs页面概览标签顶部会有一个额外的标注,指向分支审查。

分支审查可用横幅

分支详情

审查头部

头部包括Git提交消息、PR选择器、PR状态以及带有Cypress Cloud测试运行ID编号(#)的基础和功能分支标签。

如果同一分支有多个Pull Request打开,你可以从提交消息右侧的下拉菜单中选择要审查的Pull Request。

点击分支标签将直接链接到相应的运行概览,悬停在这些元素上会显示额外的运行元数据。

分支审查头部

审查测试状态

info

注意: 为每个提交准确记录一次运行是确保完整和准确比较的最佳方式。有关将多个cypress run调用分组到一个运行下的最佳实践,请参阅我们的最佳实践

在审查屏幕上,你将看到失败、不稳定、待处理、新增和修改标签。每个标签将显示属于该类别的规格。你可以点击测试查看测试详情。

分支审查详情
note

审查测试状态

  1. 比较的分支和运行的详细信息。如果检测到Pull Request,Pull Request详情将显示在此。
  2. 指向测试信息关键差异的链接,如新失败和不稳定测试。注意所有数字和评分均指变更运行。
  3. UI覆盖率变更。
  4. Cypress无障碍测试变更。
  5. 查看你打开的特定状态中的变化,例如:
    • 红色文本标记的上箭头和数字3 在你的分支中引入的总数
    • 绿色文本标记的下箭头和数字4 在你的分支中减少或解决的总数
    • 灰色文本标记的数字4 总数,例如_3个新和1个现有_
  6. 测试状态(失败、不稳定、待处理)也在规格级别指示
    • new = 状态之前捕获,但现在捕获
      (新待处理的测试可能意味着未移除it.skip()
    • existing = 状态之前捕获且现在捕获
    • resolved = 状态之前捕获但现在不再捕获

审查测试比较

进入测试详情视图会显示两个分支上测试结果的并排比较,以及工件,因此你可以比较PR前后的情况。这有助于聚焦于任一分支上引入或解决的变更,并提升不同尝试中测试内不稳定的来源。查看测试定义面板的差异快照,以帮助快速确定测试代码的变化。

测试比较视图
note

审查测试比较

  1. 基础分支结果

  2. 功能分支结果

  3. 测试回放和工件

  4. 测试尝试(降序)

  5. 代码变更差异

故障排除

关于Pull Request可用数据的说明

分支审查是一个强大的工具,用于比较两个有记录运行到Cypress Cloud的分支。有些因素会影响功能分支和基础分支之间可审查的内容。例如,特定提交的分支是否有运行记录到Cypress Cloud将影响显示的内容。

以下场景涵盖了两种分支的情况:

基础分支功能分支分支审查显示内容
有运行有运行使用两个找到的运行进行比较数据
有运行无运行使用功能分支上最后一次运行进行比较数据
无运行有运行非比较数据,带有找到的功能运行
无运行无运行非比较数据,使用功能分支上最后一次运行

如果比较所需的运行不可用,你可以使用手动选择下拉菜单比较两个合适的运行,前提是它们在Cypress Cloud中存在。

最佳实践

测试运行分组

Cypress Cloud允许将记录的测试分组到一个运行下。这意味着多个cypress run调用可以被标记并关联到Cypress Cloud中的单个运行。

不分组而记录每个提交的多个测试运行会导致问题,因为分支审查依赖于_最新_运行。因此,记录每个提交的一个运行并利用分组对于提高有效性并确保分支间准确比较至关重要。

Pull Request比较中缺失运行

如果PR的合并基础或功能提交上缺少运行,将显示一个横幅,指定哪个提交缺少运行,并带有指向GitHub上该提交的链接。

另请参阅

  • 阅读Cypress Cloud中多仓库实现的最佳实践。即使你的测试代码和应用代码不在同一位置,你也可能能够将测试运行连接到应用中的特定提交和pull request。