Transcript

00:00:00我们团队构建应用的方式有了显著改进
00:00:03原因是什么呢?
00:00:03Claude Code最近推出了Chrome扩展程序
00:00:06你可能认为用Playwright或Puppeteer MCP早就能做到了
00:00:09但那些工具存在严重问题,比如上下文窗口臃肿不必要、项目文件夹充斥着随机截图,而且大多数时候它们甚至完成不了应用上的操作
00:00:20这就是为什么我从不特别看好用AI进行自动化测试
00:00:24但这也是为什么我对这个新的Claude扩展程序感到真正兴奋
00:00:28如果你一直关注我们的频道,你可能知道我们很早就制作过一个关于它的视频
00:00:32有趣的是它本来不是为Claude Code设计的,但我们明确指出这个扩展如果集成到Claude Code中会有更大的潜力
00:00:39现在事实如此
00:00:39现在它终于作为集成的MCP发布了,为Claude Code提供了所有必需的自定义工具
00:00:45现在开箱即用,它有一些很大的问题我们应该修复
00:00:48但在我们深入这些问题之前,让我们先花点时间聊一下Automata
00:00:52在教导数百万人如何用AI构建产品后,我们开始自己实施这些工作流
00:00:57我们发现我们可以比以往任何时候都更快地构建更好的产品
00:01:01无论是应用还是网站,我们帮助将你的想法变成现实
00:01:04也许你看过我们的视频,想着"我有个很棒的想法,但我没有技术团队来实现它"。那正是我们的用武之地
00:01:11把我们看作你的技术副驾驶
00:01:13我们将教授数百万人的相同工作流直接应用到你的项目,将概念转化为真实、可运行的解决方案,无需经历聘请或管理开发团队的麻烦
00:01:23准备好把你的想法加速转化为现实吗?
00:01:25联系我们hello@automata.dev。现在回到那些问题
00:01:29我遇到的最大问题是仅仅为了测试一个简单的东西就需要太多连续步骤
00:01:34你可能已经注意到,当你要求Claude直观地测试网站的登陆页面时,它会为每个部分执行滚动操作并在每一步捕捉截图
00:01:43然后它将所有截图拼接在一起,逐个分析UI部分
00:01:47你可能认为这是个好方法,但实际上不是
00:01:49我们可以改为取整页截图,这样就能省掉那些代币
00:01:53为了解决这个问题,我使用了一个利用不同网络工具来获取完整页面截图的脚本
00:01:57我还在我的项目中添加了在自定义斜杠命令中使用该脚本的说明
00:02:02现在,当我使用该命令来测试登陆页面时,它会根据我包含的说明识别这是一个全页测试,并直接使用脚本,而不是通常的逐部分方法
00:02:13正因为如此,测试速度明显加快,准确性保持不变
00:02:17我遇到的第二个问题是这些MCP工具试图一次性加载大量内容来完成简单任务
00:02:24它不是加载特定的div,而是经常加载主标签内的所有HTML,即使不必要的情况下也包含大量代币
00:02:32这最终会消耗上下文窗口的大部分,甚至你最简单的任务也可能严重消耗它
00:02:37为了解决这个问题,我在Claude.md文件中添加了关于使用Claude Chrome扩展时如何正确管理上下文的说明
00:02:44这样,任何提取都被精确限制,不会用不必要的信息膨胀上下文
00:02:50另一个问题是Claude在遇到包含不需要的弹出窗口(如Cookie通知和类似提示)的网站时浪费了很多时间
00:02:58为了消除它们,Claude使用相同的截图和滚动序列
00:03:01但这是错误的
00:03:02与其让Claude消耗不必要的代币和时间,我们可以用其他变通方法来处理这些弹出窗口
00:03:08作为替代方案,我创建了一个脚本,包含最常见的"关闭"按钮选择器和关闭Cookie横幅的模式
00:03:15它在代码中找到这些选择器并执行函数自动关闭弹出窗口
00:03:19我还在Claude.md文件中添加了说明,使其在进行主要内容之前首先运行此脚本
00:03:25现在,每当我要求Claude访问一个网站时,它首先按照Claude.md中的说明操作并执行此JavaScript
00:03:32这会自动关闭Cookie横幅,使Claude能够继续处理主要内容,无需浪费任何代币或执行不必要的步骤
00:03:40出于安全考虑,Claude被限制进行截屏或代表你完成身份验证
00:03:46所以如果你遇到包含身份验证的网站,Claude无法为你完成这个过程
00:03:51这是你必须自己处理的
00:03:53无论何时在需要登录或验证码验证的网站上工作,确保你在给Claude任务前已经完成身份验证
00:04:00这样它就不会被阻挡或浪费任何时间
00:04:02这些就是我能解决的主要问题
00:04:05但要正确地用它进行测试,你实际上需要一个适当的工作流来测试任何应用程序
00:04:10但在我们进行之前,我想多说一点为什么我更喜欢Claude Chrome集成而不是Puppeteer
00:04:16这主要是因为它是由Claude Code开发者自己构建的原生工具,提供更好的集成和改进的控制与功能
00:04:23这些MCP专注于在不保持会话的独立专用环境中进行测试
00:04:29它们通常很难安装,并且会用所有截图把你的项目文件夹搞得一团糟
00:04:33另一方面,有了这个新的Chrome集成,Claude能够与你已登录的账户互动
00:04:38它可以与Google Docs和Google Sheets等服务互动
00:04:42它甚至可以保留所有会话信息并用它来更好地执行任务
00:04:46在我们进行工作流之前,我想提一下浏览器集成确实会消耗大量上下文,因为它们比常规工具调用的计算强度更大
00:04:54他们甚至在其中一篇博客中提到过
00:04:56所以使用Claude Code时你确实需要留意自动压缩
00:05:00另外,由于这是Chrome集成,它只适用于Chrome
00:05:04我原以为它可以在任何基于Chromium的浏览器上工作,但实际上不能
00:05:07而且我们真的无法解决这个问题
00:05:08对于那些使用多个Chrome配置文件的人来说,这会更令人沮丧,因为它不断打开错误的配置文件
00:05:15我真的希望他们能很快解决这个bug
00:05:17有了我之前提到的所有修复和Claude与Chrome的集成,我的开发工作流有了显著改进
00:05:24不过,Chrome扩展在Manifest V3中有限制
00:05:27如果运行时间过长,它们会被阻止
00:05:29许多人都在要求Claude Code的开发者在他们的仓库中修复这个问题
00:05:33如果你从头到尾进行web应用的端到端测试,这可能会导致会话被Chrome阻止,Claude会意外停止
00:05:41之后你就必须重新提示它以重启执行
00:05:44如果你给Claude分配一个长时间运行的任务后离开电脑,只有当你回来时才发现任务只完成了一部分,这会特别令人困扰
00:05:53正因为如此,与其进行端到端测试,我创建了多个测试文件,涵盖应用的所有不同方面
00:06:00每个文件都包含关于优先级、前置条件、测试步骤和预期结果的详细信息
00:06:06还有一份关于如何进行这些测试的测试指南,以及测试文档的readme文件
00:06:11如你所知,Claude的上下文窗口有限制,当达到该限制时,说明和进度可能会丢失
00:06:16正因为如此,我在Claude.md文件中添加了说明,告诉Claude在测试每个文件后创建一份综合测试报告文档
00:06:24这样,即使你因为浏览器工具消耗大量上下文而不得不压缩,Claude也可以通过参考这些进度文件来保持对已测试和仍需测试内容的认识
00:06:34现在,在进行任何测试之前,最佳做法是运行一次压缩,因为用Chrome测试你的应用程序会消耗大量的上下文窗口。
00:06:42为了简化我的测试流程,我创建了另一个自定义斜杠命令。
00:06:46这个命令的作用是以引导式的方式进行测试,并在测试后按照Claude.md的说明以适当的结构创建文档。
00:06:54我还添加了在开始任何任务前监控上下文的指令,这样测试开始时就不会在中途丢失上下文,并且在工作中也能进行压缩。
00:07:02这样的话,当你开始测试流程时,只需使用斜杠命令并提供想要开始测试的文件,Claude就会按照确切的指令开始测试。
00:07:11它能自动识别问题,并使用浏览器和所有必要的工具进行测试。
00:07:16它能自动与元素交互,并且能够发现那些通常看不见但可以通过读取控制台输出来检测到的错误。
00:07:23最后,它还会按照指令生成测试文档。
00:07:26通过这种方式,整个测试流程得到了显著改进,因为Claude可以访问控制台日志,能够比以往更有效地在浏览器中执行自动化测试。
00:07:35这就是本视频的结尾。
00:07:37如果你想支持这个频道,帮助我们继续制作这样的视频,可以使用下方的超级感谢按钮。
00:07:43一如既往,感谢你的观看,下一个视频见。

Key Takeaway

通过采用全页截图、自动化弹窗处理、分段测试和上下文管理等优化策略,可以显著提升 Claude Code 的浏览器自动化测试效率和准确性。

Highlights

Claude Code 最近推出了 Chrome 扩展程序,相比 Playwright 或 Puppeteer MCP 工具,它提供了更好的原生集成和功能

通过使用全页截图脚本替代逐部分截图方法,可以显著减少代币消耗并提高测试效率

通过创建自动关闭 Cookie 横幅和弹出窗口的 JavaScript 脚本,可以避免 Claude 浪费时间和代币在不必要的操作上

Chrome 扩展在 Manifest V3 中存在运行时间限制,需要创建多个测试文件和综合测试报告来维持长时间的测试工作流

在 Claude.md 文件中添加详细的上下文管理说明,确保 Claude 在提取内容时精确限制,不会用不必要信息膨胀上下文

创建自定义斜杠命令和测试指南,使 Claude 能够按引导式方式进行测试,并自动生成结构化的测试文档

Claude 的 Chrome 集成能够访问控制台日志和保留会话信息,使其比传统自动化工具更有效地执行浏览器中的自动化测试

Timeline

引言:Claude Code Chrome 扩展的优势

演讲者介绍了 Claude Code 最近推出的 Chrome 扩展程序,这是一个重要的新功能,改进了应用构建的方式。相比之前的 Playwright 和 Puppeteer MCP 工具存在的问题,如上下文窗口臃肿、项目文件夹充斥随机截图、操作完成率低等缺点,新的 Claude 扩展程序提供了更好的解决方案。演讲者明确表示之前对 AI 自动化测试持怀疑态度,但这个新的集成工具让他感到真正兴奋,因为它作为原生的 MCP 为 Claude Code 提供了必需的自定义工具。

Automata 公司服务介绍及核心问题引入

演讲者介绍了 Automata 公司的服务,该公司在教授数百万人如何用 AI 构建产品的基础上,开始自己实施这些工作流,发现可以比以往任何时候都更快地构建更好的产品。公司的定位是作为客户的"技术副驾驶",帮助没有技术团队的企业和个人将想法转化为可运行的解决方案。演讲者随后转入主题,开始讨论 Claude Code Chrome 扩展存在的问题以及如何修复它们,为后续的深入分析奠定基础。

第一个问题:逐部分截图导致代币浪费

演讲者指出 Claude 在测试网站登陆页面时会为每个部分执行滚动操作并捕捉截图,然后将所有截图拼接分析,这种方法虽然看起来合理但实际上浪费大量代币。解决方案是使用一个利用不同网络工具获取完整页面截图的脚本,替代逐部分方法。演讲者在项目中的自定义斜杠命令中添加了该脚本的说明,使 Claude 能够识别全页测试并直接使用脚本。这一改进使测试速度明显加快,准确性保持不变,大幅提升了效率。

第二个问题:上下文窗口膨胀和内容过度加载

演讲者指出 MCP 工具经常一次性加载大量内容来完成简单任务,比如加载整个主标签内的所有 HTML 而非特定 div,导致包含大量不必要的代币。这最终会消耗上下文窗口的大部分,即使是最简单的任务也可能严重消耗上下文。为解决这个问题,演讲者在 Claude.md 文件中添加了关于如何正确管理上下文的说明,确保任何提取都被精确限制,不会用不必要的信息膨胀上下文,这样可以显著提高效率和资源利用。

第三个问题:处理弹窗和 Cookie 横幅

演讲者说明 Claude 在遇到包含不需要弹窗(如 Cookie 通知和类似提示)的网站时浪费了很多时间和代币。不应该让 Claude 通过截图和滚动序列来处理这些弹窗,而是应该用其他变通方法。演讲者创建了一个脚本,包含最常见的"关闭"按钮选择器和关闭 Cookie 横幅的模式,它在代码中找到这些选择器并执行函数自动关闭弹窗。演讲者在 Claude.md 中添加了说明使其在进行主要内容之前首先运行此脚本,现在每当要求 Claude 访问网站时,它会自动关闭 Cookie 横幅,无需浪费代币。

第四个问题:身份验证限制及用户责任

演讲者介绍了出于安全考虑,Claude 被限制进行截屏或代表用户完成身份验证。如果遇到包含身份验证的网站,Claude 无法为用户完成这个过程,这是用户必须自己处理的。演讲者强调无论何时在需要登录或验证码验证的网站上工作,都必须确保在给 Claude 任务前已经完成身份验证,这样它就不会被阻挡或浪费任何时间。这个限制是合理的安全措施,但需要用户提前做好准备工作。

Claude Chrome 集成与传统工具的对比优势

演讲者详细对比了为什么他更喜欢 Claude Chrome 集成而不是 Puppeteer。Claude Chrome 集成是由 Claude Code 开发者自己构建的原生工具,提供更好的集成和改进的控制与功能。传统 MCP 专注于在独立专用环境中进行测试,通常很难安装,会用所有截图把项目文件夹搞得一团糟。而 Chrome 集成使 Claude 能够与用户已登录的账户互动,可以与 Google Docs 和 Google Sheets 等服务互动,甚至可以保留所有会话信息。然而浏览器集成会消耗大量上下文,Chrome 扩展也有 Manifest V3 的限制,只能在 Chrome 浏览器上工作,不支持其他基于 Chromium 的浏览器。

应对 Chrome 扩展时间限制的测试工作流

演讲者指出 Chrome 扩展在 Manifest V3 中有运行时间限制,如果运行时间过长会被阻止,许多人要求官方修复这个问题。如果进行端到端测试可能会导致会话被 Chrome 阻止,Claude 会意外停止。为解决这个问题,演讲者创建了多个测试文件,涵盖应用的所有不同方面,每个文件都包含优先级、前置条件、测试步骤和预期结果的详细信息。还创建了测试指南和 readme 文件说明如何进行这些测试。在 Claude.md 文件中添加了说明,告诉 Claude 在测试每个文件后创建综合测试报告文档,这样即使被迫压缩上下文,Claude 也可以通过参考进度文件保持对已测试和仍需测试内容的认识。

优化的自定义测试流程和最佳实践

演讲者介绍了创建的另一个自定义斜杠命令,作用是以引导式的方式进行测试,并在测试后按照 Claude.md 的说明以适当的结构创建文档。这个命令添加了在开始任何任务前监控上下文的指令,确保测试开始时不会在中途丢失上下文,并能在工作中进行压缩。最佳做法是在进行任何测试之前运行一次压缩,因为用 Chrome 测试应用程序会消耗大量上下文。当开始测试流程时,只需使用斜杠命令并提供想要开始测试的文件,Claude 就会按照确切的指令进行测试。它能自动识别问题、与元素交互、检测控制台输出中的错误、自动生成测试文档,整个流程得到了显著改进。

总结与频道支持呼吁

演讲者总结了整个视频内容,介绍了如何通过一系列优化策略修复 Claude Code 浏览器测试中约 90% 的问题。通过采用这些方法,整个测试流程得到显著改进,因为 Claude 可以访问控制台日志,能够比以往更有效地在浏览器中执行自动化测试。演讲者最后感谢观众的收看,并提醒如果观众想支持频道,可以使用下方的超级感谢按钮来帮助继续制作这样的视频。

Community Posts

View all posts