惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - Franky
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
J
Java Code Geeks
F
Full Disclosure
V
V2EX
The Register - Security
The Register - Security
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
云风的 BLOG
云风的 BLOG
T
Troy Hunt's Blog
Microsoft Security Blog
Microsoft Security Blog
Help Net Security
Help Net Security
P
Privacy & Cybersecurity Law Blog
K
Kaspersky official blog
博客园 - 聂微东
Recorded Future
Recorded Future
I
Intezer
S
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
H
Hacker News: Front Page
SecWiki News
SecWiki News
M
MIT News - Artificial intelligence
Security Latest
Security Latest
Attack and Defense Labs
Attack and Defense Labs
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
宝玉的分享
宝玉的分享
T
Tenable Blog
B
Blog
N
News | PayPal Newsroom
P
Proofpoint News Feed
D
Docker
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
MyScale Blog
MyScale Blog
C
Cisco Blogs
A
Arctic Wolf
T
Threat Research - Cisco Blogs
I
InfoQ
Stack Overflow Blog
Stack Overflow Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
GbyAI
GbyAI
P
Palo Alto Networks Blog
Engineering at Meta
Engineering at Meta
Hugging Face - Blog
Hugging Face - Blog
Latest news
Latest news
Project Zero
Project Zero

博客园 - iTech

7万星的AI交易框架:让大模型模拟投行多空辩论,自动做交易决策 71000颗星的AI交易团队:让大模型模拟投行分工,自动做交易决策 13400颗星的开源项目:输入一句话,AI全自动帮你做短视频 102颗星的沙盒:当AI学会自己写代码、跑测试、做部署 AI 技术日报 - 2026-05-08 29k 星的 PageIndex:不用向量数据库,靠推理就能做 RAG 每天花两小时刷信息?这个开源项目帮你全自动搞定 读源码像读小说?试了 DeepWiki 和 Zread,我再也不想裸读 GitHub 了 Matt Pocock 开源的这套 .claude 技能,为什么让工程师集体上头? Cursor Team Kit:Cursor 官方团队在用的 17 个 AI 工作流 AI 技术日报 - 2026-05-07 AI 技术日报 - 2026-05-06 AI 技术日报 - 2026-05-05 Anthropic CEO 说 12 个月内程序员要失业,我扒完他的底牌,发现事情没那么简单 把工程师的肌肉记忆装进 Claude Code,这个 4300 Star 的项目我后悔没早用 AI 技术日报 - 2026-05-04 AI 技术日报 - 2026-05-03 AI 技术日报 - 2026-05-02 六大 Agent 框架横评:谁支持 Skills?谁能自动创建 Agent?MCP 呢? Wechatsync:一个 Chrome 插件,一键把文章同步到 31 个平台 LangChain 开源了 Open SWE:Stripe、Ramp、Coinbase 内部都在造的编程 Agent Cockpit:把 Claude Code 从终端里搬出来,装进浏览器 Cursor 把自家的 AI Agent 开放了:写几行 TypeScript 就能调 Cursor 干活 AI 技术日报 - 2026-05-01 AI 写代码每次结果都不一样?Archon 用 YAML 工作流把 AI 编程变成流水线 AI 写代码比你快了,但你还是得学编程——只不过学法得换 腾讯的龙虾特工队:4 个 AI Agent 同日更新,全家桶正式成型 Agno 不做更聪明的 Agent,它要把所有 Agent 框架包进同一个操作系统 Hermes Agent 终于有了像样的 Web 界面,而且还支持远程访问 Datawhale 出了一套 29 学科知识地图,把 AI 的底牌全掀了 Hermes Agent 在聊天框里就能用的 20 种高级功能 一份 AGENTS.md 能顶一次模型升级?Augment Code 用数据说了算 NVIDIA 开源了一个「AI 沙箱」,20K Star,让 Agent 跑代码不再裸奔 60ms 冷启动、5MB 内存:腾讯开源的这个沙箱让 Docker 安全隔离像笑话 AI 技术日报 - 2026-04-30 AI 技术日报 - 2026-04-29 AI 技术日报 - 2026-04-28 Goose:Linux 基金会亲儿子,能撼动 Claude Code 和 OpenCode 吗? AI 技术日报 - 2026-04-27 AI 技术日报 - 2026-04-26 Google 把价值20美元/月的东西免费了,102K人已经抢到了 OpenClaw 和 Claude Code 网络搜索配置指南 AI 技术日报 - 2026-04-25 Anthropic 为什么遥遥领先:从 Cat Wu 专访看AI霸主的底层逻辑 Mac 本地跑大模型完全指南:你的苹果电脑就是 AI 工作站 同样 70B 参数,为什么 MoE 只激活 13B 就能打平 Dense? DeepSeek-V4 技术报告里藏着一条线:华为昇腾 NPU 已完成推理验证 DeepSeek-V4 深夜炸场:1M 上下文、384K 输出、双模型,API 定价直接卷到底 MacBook Air 跑大模型实测:Ollama、llama.cpp、LM Studio 谁才是本地推理之王? AI 技术日报 - 2026-04-24 OpenCode:Claude Code 的最佳平替 2026 开源大模型五国杀:Qwen 3.6 vs Gemma 4 vs Llama 4 vs GLM-5.1 vs DeepSeek V4 MCP 与 Skills 的你死我活:Anthropic 的 Agent 生态野心与开发者的站队困境 给 AI Agent 配搜索,国内能用的搜索 API 实测对比 AI 技术日报 - 2026-04-23 CC Switch:49K Star 的 Claude Code 登录绕过神器,还能管 Codex 和 Gemini CLI NVIDIA 开出 32 万美元年薪招 AI Agent 工程师,JD 里藏着这些信号 fast-mirror-skill 技术拆解:一个小而完整的 Claude Skill 是怎么设计的 Cursor 值 600 亿美元?马斯克这次赌的不是技术,是入口 AI 技术日报 - 2026-04-22 别再问 AI 能不能赚钱了:3 个上班族亲测有效的副业方法(2026 最新版) 10 分钟从零搞定 Hermes Agent:飞书微信双通道丝滑上线 AI 技术日报 - 2026-04-21 Anthropic 实战总结:AI Agent 的 3 种工作流模式,选错代价很大 安装 openclaw,hermes 慢的想发疯,fast-mirror-skill 来救了 Claude Routines:你下班睡觉了,Agent 还在为你干活 微信飞书里敲一个斜杠就能干活:Hermes Quick Command 到底多省事 AI 正在疯狂吃电:算力尽头是电力,谁能解这道题? AI 技术日报 - 2026-04-20 3K 行代码造一个越用越聪明的 AI Agent:GenericAgent 登顶 GitHub Trending 高德途途封神机器人半马,背后的 ABot-Claw 到底是什么 人们希望 AI 能干啥?Anthropic 调查:第一名不是赚钱,是变强 AI 时代人们在担心什么?Anthropic 的 13 条焦虑排行榜 OpenAI 官方 Agent SDK 来了:22k Star,支持 100+ 模型,Python 10 行代码上手 AI 技术日报 - 2026-04-19 OpenAgents Workspace:让 Claude Code 和 Codex 在同一个群里干活 Claude 是要干掉整个软件行业吗? Claude 官方推荐多 Agents 设计模式 多 Agent 系统的 5 种协调模式:选错了模式,再强的 Agent 也白搭 AI 技术日报 - 2026-04-18 AI 技术日报 - 2026-04-17 Better-Harness:让AI Agent自己优化自己的革命性框架 OpenClaw Workspace 完全指南:我的AI编程工作流 DeepSeek内蒙草原高薪招聘:AI时代的数字牧民梦,还是营销噱头? 2 核 2G 的阿里云 ECS 能跑 OpenClaw 吗?能,但有点折腾 AI 技术日报 - 2026-04-16 OpenCLI:一个命令行搞定 16+ 内容平台的神器 从零到精通:OpenClaw CLI 命令完全指南 AI 技术日报 - 2026-04-15 AI Agent 如何自我进化?Hermes Agent Self-Evolution 深度解析 AI 技术日报 - 2026-04-14 为什么你的飞书 Bot 总是连不上?OpenClaw Gateway 架构深度解析 OpenClaw 连接飞书的原理:Gateway、Channel 与消息流转 国内安装 Hermes Agent 踩坑全记录:从 GitHub 超时到正常跑起来的每一步 35 万 Star 的 OpenClaw:5 分钟部署你的私人 AI 助手,直连飞书 AI 技术日报 - 2026-04-13 公司用 AI 筛简历,这个开源项目让候选人用 AI 反选公司 为什么 Google ADK 可能是你下一个 Agent 框架——7 个改变游戏规则的特性 Microsoft Agent Framework 深度解析:架构设计与实战落地 AI 技术日报 - 2026-04-11
告别脆弱的选择器测试:Approxima 开源了一个用自然语言写测试用例的 Agent 平台
iTech · 2026-06-16 · via 博客园 - iTech

告别脆弱的选择器测试:Approxima 开源了一个用自然语言写测试用例的 Agent 平台

还在为 CSS 选择器漂移导致的测试失败加班?有人把测试用例写成了自然语言,让 AI Agent 在真实浏览器里跑。

你有没有过这种经历:改了个按钮的 class 名,CI 里 40 个 E2E 测试全红了。点进去一看,产品功能完全正常,只是选择器变了。然后你花 2 小时更新测试里的选择器——这 2 小时本来可以用来写功能。

这是今天 E2E 测试的两难困境:

  1. 自己维护脚本化 E2E 套件:测试通过硬编码的 CSS 选择器指向 DOM。产品每天都在变,选择器漂移,测试在什么都没坏的时候失败。覆盖率追不上 AI 辅助开发的速度。
  2. 把测试交给托管的 AI QA 平台:脆弱性问题好了一些,但你的测试、历史和发布信心都活在别人的服务器上,完全受制于人。

Approxima 的思路是:两半都可以修好。用意图(intent)而非选择器写测试——"把商品加入购物车,验证总价更新"——DOM 变了测试不会漂移。加上它是开源的(MIT 协议),你可以自托管,永远自己掌控。

项目刚在 GitHub 上开源,地址:github.com/Approxima-AI/Approxima-OSS

本文提纲

  1. 核心概念:Journey 和自然语言测试
  2. Goal Mode:给个目标,Agent 自己探索步骤
  3. Skills:像搭积木一样复用测试步骤
  4. Self-healing:步骤和 UI 对不上了?Agent 自动修正
  5. Shadow Runs:A/B 测试 Agent 本身
  6. 技术架构:三层分离,可独立部署
  7. 和传统 E2E 测试的对比
  8. 实际使用中的注意事项

核心概念:Journey 和自然语言测试

Approxima 的基本单元叫 Journey——一个有序的纯英文步骤列表:

1. Click "Sign in"
2. Enter $TEST_EMAIL in the email field
3. Enter $TEST_PASSWORD in the password field
4. Click "Submit"
5. Verify the dashboard shows "Welcome back"

Agent 在真实浏览器(Chromium)中逐步执行,每步操作后截图,然后视觉验证步骤是否通过,再进入下一步。你可以把多个 Journey 组成 Suite,按 cron 定时跑,或从 dashboard 手动触发。

和传统测试的根本区别在于:你描述的是意图(intent),不是操作细节。Agent 自己决定点哪里、怎么输入、如何验证。

Goal Mode:给个目标,Agent 自己探索步骤

如果你不知道(或不想关心)具体步骤是什么,可以用 Goal Mode

Agent 进入探索模式,在你的应用里摸索直到完成目标,然后把发现的步骤写回 Journey,立刻触发一次验证运行来证明这些步骤可复现。从那以后,它就作为普通的确定性 Journey 运行。

这个功能特别适合:
- 新功能刚上线,还没写测试——先用 Goal Mode 探索一遍,步骤自动生成
- 复杂的用户流程,手动写步骤太繁琐
- 快速验证核心路径是否通畅

Skills:像搭积木一样复用测试步骤

Skill 是可复用的步骤序列。比如"登录"这个操作在 20 个 Journey 里都要用到:

Skill: Login
  1. Enter email
  2. Enter password
  3. Click submit

Journey 引用它时只需一个步骤:"Login"。Skill 在运行时内联展开,所以更新一个 Skill 就更新了所有引用它的 Journey

更聪明的是:Goal Mode 是 Skill-aware 的。Agent 探索出来的步骤如果匹配已有 Skill,会自动折叠成 Skill 引用而非重复步骤。

Agent 发现的路径:
  1. Enter user@test.com in email field   折叠为 "Login" skill
  2. Enter password123 in password field   折叠为 "Login" skill
  3. Click submit button                   折叠为 "Login" skill
  4. Click "New Project"                  保留为独立步骤
  5. Enter "My Project" in name field     保留为独立步骤

Self-healing:步骤和 UI 对不上了?Agent 自动修正

当你的应用改了,步骤描述和实际 UI 不匹配时,Agent 不是直接报错失败——它会推断步骤应该是什么,并在运行结果中报告修正后的步骤。

这些修正建议以 inline suggestion 的形式出现在 dashboard 的 Journey 编辑器里,一键接受或忽略。一个模糊的步骤可能被拆成多个精确的步骤。建议在上浮到用户之前经过 LLM 审查,过滤掉琐碎的措辞变化和选择器噪音。

实际场景举例:

原步骤: "Click the blue submit button"

UI 变化: 按钮颜色从蓝色改成了绿色,文字改成了 "Continue"

Agent 建议:
  "Click the 'Continue' button"
   一键接受 

Shadow Runs:A/B 测试 Agent 本身

这个功能挺有意思——你可以 A/B 测试 Agent 的 prompt。

Agent 是版本化的,每个版本活在独立的文件夹里。想试 v2 prompt?注册为 beta 版本,开启 AUTO_SHADOW_ENABLED。每次真实运行都会自动派生一个 Shadow Run,用 beta Agent 跑同一个 Journey。Admin 面板用配对统计比较两个群体的表现。

这意味着你可以:
- 科学地评估 prompt 改动是否真的提升了 Agent 准确率
- 切换 LLM 提供商(比如从 Gemini 换到 Claude)之前先做对比
- 持续迭代 Agent 行为,有数据支撑而非靠感觉

技术架构:三层分离,可独立部署

MERMAID_BLOCK_0

技术栈 职责
frontend Next.js Dashboard:创建应用/Journey/Suite,观看实时运行
api Hono on Cloudflare Workers API:应用管理、Journey CRUD、运行队列、调度
web-runner Node.js + Playwright 浏览器 Agent:截图驱动 + LLM 推理循环

三层可以独立部署。官方日常用的栈是 Neon (Postgres) + Cloudflare Workers + Railway + AWS S3 + Gemini,但都不是必须的。

Agent 的浏览器驱动方式值得注意:

  • 点击操作:Agent 从截图识别目标元素,但实际操作的是 DOM 元素而非像素坐标。优先级:Role → Text → CSS Selector
  • 截图验证:默认截取整个视口 (1280x720),也支持 400x400 的局部裁切来检查细节
  • LLM 推理:每步操作后截图,LLM 视觉验证是否通过

和传统 E2E 测试的对比

维度 传统 E2E (Cypress/Playwright) Approxima
测试编写 CSS/XPath 选择器 + 代码 纯英文自然语言
维护成本 高(选择器漂移) 低(意图不随 DOM 变)
自愈能力 无(需要手动修) Agent 自动建议修正步骤
探索测试 不支持(必须预写步骤) Goal Mode 自动探索
调试体验 看日志、看录屏 实时 Screencast + Agent 思维链字幕
步骤复用 Page Object / fixture Skill 组件化
运行速度 快(直接操作 DOM) 慢(每步要 LLM 推理 + 截图)
成本 只有 CI 机器成本 额外 LLM API 费用
部署 集成在 CI 里 独立平台(可自托管)

核心取舍很明确:你牺牲了一些运行速度和 LLM 费用,换来的是极低的维护成本和自愈能力。对于频繁迭代的产品,这个取舍通常是值得的。

实际使用中的注意事项

1. 密钥安全

文档里有一段很诚实的说明:Agent 登录你的应用时,密钥值必须发给云端 LLM(因为 LLM 决定输入什么)。加密和脱敏只控制"值在哪里落盘",无法阻止"值被发给模型"。所以:

Approxima 中使用的密钥应该用于测试工作区——那种丢了也不心疼的环境。

2. LLM 成本

每个步骤都需要 LLM 推理(看截图 + 决定操作 + 验证结果)。一个 10 步的 Journey 大约需要 10+ 次 LLM 调用。建议:
- 用 Gemini 做主力(便宜),Anthropic/OpenAI 做 fallback
- 核心路径用 Journey Mode(确定性),新功能用 Goal Mode(探索性)
- 善用 Skill 复用,减少重复步骤的 token 消耗

3. 无内置认证

当前版本没有用户认证系统。Dashboard 和 API 对能访问到它的人完全开放。需要在 localhost、私有网络或自己的认证代理后面运行。

4. 快速上手

git clone https://github.com/Approxima-AI/Approxima-OSS && cd Approxima-OSS
npm install
npx playwright install chromium
npm run build

# 配置数据库和 API
DATABASE_URL="postgresql://..." npm run db:migrate -w api
cp api/.dev.vars.example api/.dev.vars
cp web-runner/.env.example web-runner/.env
# 填入 LLM API key、S3 配置等

# 启动
npm run dev:api          # API :8787
npm run dev:web-runner   # Runner :3002
npm run dev:frontend     # Dashboard :3000

打开 http://localhost:3000,创建应用,写第一个 Journey——或者直接给个目标让 Agent 自己探索。

总结

Approxima 解决的核心问题是:E2E 测试的维护成本不应该随产品迭代速度线性增长

它用"意图而非选择器"的思路,加上 Agent 的自愈能力和目标探索模式,让测试编写和维护的门槛大幅降低。代价是运行速度和 LLM 费用,但对于追求覆盖率但 QA 人力有限的团队来说,这种"Agent 即测试员"的范式是一个值得认真评估的方向。

你团队的 E2E 测试维护痛点是什么?有没有试过 AI 驱动的测试方案?评论区聊聊。觉得有用就点个赞,让更多 QA 和开发看到这个工具。


参考文档与链接

项目相关
- Approxima-OSS GitHub 仓库 — 开源代码、文档和快速开始指南
- Approxima 官方网站 — 产品主页和托管服务

相关技术和工具
- Playwright 官方文档 — 浏览器自动化引擎
- Drizzle ORM — 数据库 ORM 和迁移工具
- Hono.js — 轻量级 Web 框架,用于 API 层
- Cloudflare Workers — Serverless 部署平台

AI 测试领域参考
- Anthropic Computer Use — Claude 的计算机使用能力
- OpenAI: A practical guide to building agents — Agent 构建实践指南
- Google: Modern Testing Practices — Google 测试博客
- Playwright: Accessibility-first testing — 无障碍优先的测试方法

CI/CD 集成
- GitHub Actions: Playwright — Playwright 在 GitHub Actions 中的集成
- Testcontainers — 容器化测试环境管理


作者: itech001
来源: 公众号:AI人工智能时代
网站: https://www.theaiera.cn/
每日分享最前沿的AI新闻资讯和技术研究。

本文首发于 AI人工智能时代,转载请注明出处。