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

项目管理

info
学习要点
  • 如何设置项目以记录测试运行
  • 如何管理项目设置
  • 如何转移项目所有权
  • 多仓库实现的最佳实践
  • 如何与源代码控制提供商、问题管理及团队沟通工具集成

项目标识

Cypress 使用 projectId记录密钥 共同唯一标识项目。

项目ID

当您设置项目记录时,我们会为项目生成唯一的 projectId 并自动插入到 Cypress 配置文件中。

projectId 是 Cypress 配置文件中的6位字符串

const { defineConfig } = require('cypress')

module.exports = defineConfig({
projectId: 'a7bq2k',
})

这帮助我们唯一标识您的项目。如果手动修改此值,Cypress 将无法识别您的项目或找到其记录的构建结果

如果使用源代码控制,建议将 Cypress 配置文件(包括 projectId)提交到源代码控制中。若不想让 projectId 在源代码中可见,可将其设为环境变量 CYPRESS_PROJECT_ID。具体设置方式取决于系统,例如:

export CYPRESS_PROJECT_ID={projectId}

记录密钥

记录密钥用于验证项目是否有权向 Cypress Cloud 记录测试。只要记录密钥保持私有,即使他人拥有您的 projectId,也无法为项目记录测试运行。

将记录密钥视为允许您写入和创建运行的钥匙。但它与查看已记录运行无关。

caution
记录密钥泄露风险

任何同时获取 projectId 和记录密钥的人都可以向该组织的 Cypress Cloud 项目记录运行。

您不希望团队外人员运行测试的原因:

  1. 这会增加测试运行次数。Cypress 按记录测试数计费,可能导致配额耗尽。
  2. 他们可以向 Cypress Cloud 写入任意数据。可能修改测试套件,使记录内容偏离项目初衷,例如访问不同网站并生成访问视频。

如果记录密钥泄露,应删除旧密钥创建新密钥。已删除的密钥将失效;使用删除密钥运行的项目无法记录。

可通过环境变量设置记录密钥以加强保护。详见此处

设置记录测试运行后,我们会自动生成项目的记录密钥。

记录密钥是如下格式的GUID

f4466038-70c2-4688-9ed9-106bf013cd73

您可以为项目创建多个记录密钥,或通过 Cypress Cloud 删除现有密钥。

项目设置中的记录密钥

也可在 Cypress 应用的 Settings 选项卡中找到记录密钥。

配置选项卡中的记录密钥

创建新记录密钥

  1. 进入组织项目页面
  2. 选择目标项目
  3. 进入项目 Settings 页面
  4. 找到 Record Keys 部分
  5. 点击 Create New Key,系统将自动生成新密钥

删除记录密钥

  1. 进入组织项目页面
  2. 选择目标项目
  3. 进入项目 Settings 页面
  4. 找到 Record Keys 部分
  5. 点击目标密钥旁的 Delete

项目设置

运行访问权限

通过项目设置管理谁可查看项目测试运行。

公开 vs 私有

  • 公开:任何人都可查看项目记录的测试运行,类似 GitHub、Travis CI 或 CircleCI 的公开项目。知晓 projectId 的人均可查看公开项目运行。

  • 私有:仅受邀加入组织用户可查看运行。即使他人知晓 projectId,未经邀请也无法访问。

修改项目访问权限

  1. 进入组织项目页面
  2. 选择目标项目
  3. 进入项目 Settings 页面
  4. Access 部分选择适当权限
    运行访问权限设置

智能编排

测试规范优先级 & 自动取消

启用测试规范优先级可通过优先运行先前失败的测试来缩短反馈时间。启用自动取消可在测试失败时终止运行以减少持续时间。可设置触发自动取消的失败测试数。

这些设置能显著提升问题解决速度,降低月度CI费用并释放CI资源。详见测试规范优先级自动取消指南。

运行完成延迟设置

并行化

运行完成延迟

可设置运行在转为"已完成"状态前等待新测试组加入的秒数。

详见并行化指南

运行完成延迟设置

运行超时

可设置Cloud等待接收运行信号的最长时间(默认90分钟),超时后状态设为"已超时"。有效值介于5-300分钟之间。

若因超时导致通过/失败的测试未被Cloud捕获,可延长超时;若需更快反馈,可缩短超时。

运行超时设置

所有权转移

转移项目至其他用户或组织

可将拥有的项目转移至您所属的其他组织或组织内其他用户。此操作仅能通过Cypress Cloud完成。

  1. 在组织切换器中选择您的组织
  2. 选择待转移项目
  3. 进入项目 Settings 页面
  4. 滚动至 Transfer Ownership 部分并点击 Transfer Ownership
    所有权转移按钮
  5. 选择目标用户或组织,点击 Transfer
    项目转移对话框
caution

禁止将项目转移至当前处于免费试用的组织。

取消项目转移

转移过程中,可随时通过访问组织项目页面点击 Cancel Transfer 取消。

取消待处理的项目转移

接受或拒绝转移项目

当项目转移至您时,将收到通知邮件。可通过侧边栏通知点击'Accept'或'Reject'来处理。

接受或拒绝项目转移

删除项目

可删除拥有的项目,同时删除所有记录测试运行。此操作仅能通过Cypress Cloud完成。

  1. 在组织切换器中选择您的组织
  2. 选择待删除项目
  3. 进入项目 Settings 页面
  4. 在页面底部点击 Remove Project 按钮
    删除项目对话框
  5. 点击 Yes, Remove Project 确认删除

README徽章

README徽章可提升项目README文件中测试状态和测试数的可见性。

创建README徽章

  1. 在Cypress Cloud账户中选择目标项目
  2. 在项目设置页面滚动至README Badges部分,点击"Configure Badge"
caution

注意:README徽章目前仅适用于公开项目。

  1. 弹出配置窗口,项目ID已自动填充。可指定特定分支或留空以始终使用最新构建

  2. 设计徽章样式。默认Flat样式最常用,共提供5种样式选项

  3. 选择徽章类型以改变显示信息量。简单状态仅显示通过/失败,详细状态显示通过/失败/跳过的测试数,测试计数显示项目包含的总测试数

  4. 完成设置后检查预览效果

  5. 🎉 徽章已就绪。复制配置窗口底部的Markdown代码,嵌入项目README文件

    README徽章配置表单

另见使用Cypress README徽章突出项目测试状态公告。

最佳实践

多仓库实现

当Cypress测试与应用代码分属不同仓库时,会导致Cloud体验不佳,特别是涉及每个git目录的提交和分支解释时。

info

对于任何Cypress项目,所有与记录运行关联的提交或分支应属于或关联到单个.git仓库。

若无法满足,可采取以下措施组织数据:

  1. 在Cypress Cloud创建两个独立项目,如应用项目测试项目

  2. 对于应用项目

    • 将GitHub集成链接至应用代码仓库
    • 覆盖测试记录使用的 COMMIT_INFO_* 环境变量以反映应用代码仓库状态
    • 将与应用代码仓库相关的运行记录至应用项目
    • 将Cypress配置/测试仓库相关标识符(短SHA/版本号)捕获为运行标签
  3. 对于测试项目

    • 将GitHub集成链接至Cypress配置/测试仓库
    • 确保记录至测试项目的运行与测试代码变更相关
    • 如有必要,可将测试执行针对的应用代码仓库状态捕获为标签

第三方集成

可通过项目设置页面集成多种第三方工具并编辑相关设置。

详见集成指南:

源代码控制提供商

问题管理

团队沟通