@dabit3: 这是@DevinAI的原生功能,且(可选地)随每次PR附带!

X AI KOLs Following 产品

摘要

Devin AI现原生支持在创建PR后自动进行端到端测试和视频录制,并将录制的屏幕截图发送给审查者以便快速验证。

@gabriel1 这是@DevinAI的原生功能,且(可选地)随每次PR附带! https://t.co/90lV4AbiWg
查看原文
查看缓存全文

缓存时间: 2026/06/24 03:57

@gabriel1 这是 @DevinAI 的原生功能,随每个 PR(可选)一起发布!

https://t.co/90lV4AbiWg


测试与视频录制 - Devin 文档

来源:https://docs.devin.ai/work-with-devin/testing-and-recordings Devin 可以在创建 PR 后对你的应用进行端到端测试——在本地运行应用、通过浏览器与其交互,并录制整个过程的视频。录制内容会直接作为附件发送给你,这样无需拉取该分支即可验证变更是否生效。

工作原理

Devin 创建 PR 后,可以进入 测试模式——这是一个结构化工作流,Devin 将:

  1. 搭建环境——安装依赖项、启动服务、登录所需账户
  2. 规划测试——阅读 diff 和代码库,制定最小且聚焦的测试计划
  3. 录制视频——开始屏幕录制,在桌面端执行测试计划,并标注关键节点
  4. 发送结果——停止录制,处理视频,并将其作为消息附件发送给你

目标是生成一个简短的录制内容,代码审查者观看后立即认为“是的,它能用”——然后合并 PR。

触发测试

创建 PR 后,Devin 会主动为你测试应用。点击 测试应用 即可让 Devin 启动测试工作流。

你也可以在会话中的任何时刻让 Devin 进行测试——例如“测试你刚才的修改,并发送一段录制给我”或“验证登录页面能否正常使用,并发送视频给我”。

测试工作流

当 Devin 进入测试模式时,它会遵循一个结构化的三阶段流程:

阶段 1:准备

在开始任何测试之前,Devin 会准备环境:

  • 阅读 PR 和代码库 以了解需要测试的内容
  • 检查仓库中相关的技能(位于 ./agents/skills/ 下),如找到则遵循其指示
  • 登录所需服务 并解决访问问题
  • 检查可用环境(staging、dev、本地)并验证连通性
  • 如有必要,向你请求缺失的机密信息——Devin 会提前索要凭据,并保存以便将来会话使用

阶段 2:测试规划

准备完成后,Devin 会编写一份简短的测试计划:

  • 确定 最关键的单个端到端流程,用以证明功能有效
  • 编写具体、明确的步骤(例如,“点击右上角标记为 Save 的按钮”——而不是“找到保存选项”)
  • 将计划建立在实际代码之上——通过前端追踪,找到确切的 UI 路径通向该功能
  • 仅在存在真正关键的边界情况时才增加额外的测试流程

Devin 会在执行前将计划作为简短消息发送给你,以便你在必要时进行修正。

阶段 3:录制与执行

在 CI 变绿且所有审核意见都已处理后,Devin 开始执行测试:

  1. 开始录制——捕获整个屏幕
  2. 标注关键节点——在重要位置添加文本标签(例如,“测试登录流程”、“功能确认工作正常”),这些标签将出现在最终视频中
  3. 执行测试计划——通过浏览器与应用交互,遵循每一步骤
  4. 停止录制——视频自动进行处理,在关键节点周围加入标注和速度调整
  5. 发送视频——将录制内容附在消息中,以便你直接观看

视频录制详情

Devin 的屏幕录制具有多项便于审查的功能:

  • 标注——视频关键节点显示文本标签,标明 Devin 正在测试什么。视频在标注点附近会减速,以便你查看细节。
  • 自动缩放——视频会自动放大到 Devin 点击和交互的位置,平滑平移跟随光标,在空闲时再缩小。
  • 自动处理——原始录制内容会被处理,突出重要操作并压缩空闲时间。
  • 以附件形式发送——视频作为附件附加到会话消息中,可直接在 Devin Web 应用或 Slack 中查看。

录制内容的设计目标是简短且聚焦——一种 快速验证检查,通过一个主要的端到端流程证明功能有效。如果你需要更全面的覆盖,请使用现有的测试套件和 CI,而非视觉录制。

技能建议

在测试你的应用后,Devin 会记录下它尝试过什么、什么有效——设置步骤、环境配置、如何启动应用——并提议通过 PR 创建或更新一个技能(https://docs.devin.ai/product-guides/skills)。你可以按原样合并 PR,或进行调整以优化指导。随着时间的推移,这意味着 Devin 能不断改进对你的项目的测试——每个会话的学习成果都会叠加在之前的之上。你也可以随时让 Devin 执行此操作(例如“创建一个关于如何测试此应用的技能”)。完整详情请参阅技能指南(https://docs.devin.ai/product-guides/skills)以了解创建和管理技能的内容。以下是一个测试技能的示例:

``

name: test-before-pr description: Run the local dev server and verify pages before opening any PR that touches frontend code.

Setup

  1. Install dependencies: npm install
  2. Start the database: docker-compose up -d postgres
  3. Run migrations: npx prisma migrate dev
  4. Start the dev server: npm run dev
  5. Wait for “Ready on http://localhost:3000”

Verify

  1. Read the git diff to identify which pages changed
  2. Open each affected page in the browser
  3. Check for: console errors, layout issues, broken links
  4. Screenshot each page at desktop (1280px) and mobile (375px) widths

Before Opening the PR

  1. Run npm run lint and fix any issues
  2. Run npm test and confirm all tests pass
  3. Include screenshots in the PR description ``

编写或优化技能时,请具体说明要验证的内容:

故障排除

Devin 没有主动提供测试

测试模式仅适用于 Devin 创建了包含代码变更的 PR 的会话。如果 Devin 没有提供,你随时可以直接要求:“你能测试这些修改并录制视频吗?”

录制失败

如果录制处理失败,Devin 会通知你。常见原因包括应用在测试过程中崩溃或视频处理超时。Devin 可以重试——只需说“再试一次录制”。录制文件存储在 Devin 的机器上,你随时可以请求 Devin 发送给你。

Devin 无法访问应用

如果 Devin 在测试过程中无法访问你的应用(例如,登录墙、VPN 要求),它会向你求助。请使用机密信息(https://docs.devin.ai/product-guides/secrets)提供凭据,使用交互式浏览器(https://docs.devin.ai/work-with-devin/devin-session-tools#interactive-browser)手动完成身份验证步骤,或完成环境配置(https://docs.devin.ai/onboard-devin/environment)以预先配置访问权限,从而避免 Devin 遇到这些问题。

相似文章