我相信博客文章应由人类撰写,所以这篇“不够完美”的技术随笔完全出自我手,而不是 AI 所为。另外,我不会接受任何新工具的评测请求,只会写我感兴趣的内容,请不要联系我!
在上一篇文章中,我介绍了自己最近亲自尝试的一些 AI 工具。特别是 Napkin.ai,这是一个我已经多次回访、节省时间的应用,未来我可能还会继续使用它。
这周,我的注意力被一些其他工具吸引了:
- Cursor:一个以 AI 为核心的集成开发环境(IDE)
- Fine.ai:一个 AI 代理驱动的工具,能与你的代码库同步,并为改进代码自动创建工单
实战演练
我想尝试在 Cursor 中通过一些提示语创建一个测试自动化框架,并添加一个测试用例,看看多长时间能让它运行起来。之后,把这个项目推送到 Git 仓库,再交给 Fine 看它是否能添加额外的测试,并验证这些测试在合并后是否能正常运行。Git 项目链接见下方。
最终结果
你可以在我的 Github 仓库中查看完整代码:
👉 askherconsulting/CursorAIandFineAIAssistedTestAutomation:一个 AI 辅助的测试自动化框架(Java,Selenium WebDriver,TestNG)
作为一个对这类 AI 工具有些许经验但并不算资深的人,我用了不到两小时就完成了以下内容:
- 集成 Selenium WebDriver
- 使用 Selenium Manager 进行浏览器配置
- 使用 TestNG 进行测试管理
- 添加 ExtentListener 实现测试报告
- 应用了 页面对象模型(POM) 保持代码结构清晰
- 测试目标为 OrangeHRM 应用
- 实现了 3 个可运行的测试用例
Fine 所生成的测试质量略低于 Cursor,这点有些出乎意料,毕竟两个工具都访问了相同的代码库。我的一些观察:
- 元素定位策略不理想:默认使用 CSS 选择器,这虽然可以,但并非总是最优(可以通过简单提示来调整)。
- 测试逻辑存在缺陷:虽然看上去合理,但某些测试失败了,因为断言目标不正确。这就需要“人类参与”,AI 没有人类对应用的上下文理解能力,过度依赖就容易出现误判。
我觉得 Fine 与 Git 的集成做得相当不错——提交请求(PR)尤其清晰,比我见过的大多数人工 PR 文档还完善。需要说明的是,我还是得主动告诉它去创建 PR,它也只是创建了草稿,等我审阅后才合并,这样的审慎设计很合理。
并非所有功能都开箱即用,但我借助 Cursor 的聊天功能查询报错、传入日志,大约修复了 15 个问题,节省了大量时间。尤其是在调试时,即时修复功能很有帮助。
典型的初期问题包括:
- 文件位置不正确
-
pom.xml
缺少依赖 - 测试用例缺少 import
最终评价
如果你做过很多测试自动化工作,下面这个比喻可能对你有帮助:
使用 Cursor IDE 的体验,就像是 Playwright 对 Selenium 的提升——
- Selenium 功能强大,但你得手动搭建框架、定制功能,就像使用传统 IDE(还要自己整合 AI)。
- Playwright 则是“开箱即用”的框架,功能完备,体验友好。
Cursor 就像 Playwright 是测试框架中的“即插即用”解决方案一样,是 IDE 世界里的“即插即用”。
我会再用 Cursor 吗? 可能会。但对我这种习惯使用 Eclipse、IntelliJ 或 VSCode 的人来说,Cursor 的一些操作不太直觉,希望习惯可以随着时间建立起来。
关于 Fine 的体验
Fine 有访问限制(我用的是免费版),界面也不算易用,还经常超时。但它生成的代码质量尚可,与 GitHub Enterprise 的集成也可能为团队节省不少重复劳动。
不过,正如 Fine 自己注册页面说的:“把创意和难题留给人类处理”。我很认同这一点。
总结
使用这些工具的过程中,你很容易对它们产生过度信任,最终可能陷入比自己亲手写代码更大的麻烦中。但我依旧很期待这项技术的发展,也很高兴能在其中不断学习。