基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
编程提效2026-10-30 02:20

用 Nova Act 搭建多租户 UI 测试服务

AWS ML Blog#自动化测试#AWS#Agent
Editor brief · 编辑速览

Epsilon 团队基于 Amazon Nova Act 和 Bedrock AgentCore Browser Tool,将自然语言描述的 UI 测试运行在 AWS 托管浏览器中。该方案以多租户服务形式提供,减少各产品团队单独维护基础设施的负担。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

用自然语言写 UI 测试,能省掉多少选选择器、补等待和处理弹窗的工作?Epsilon 给出的内部结果是:一个 18 步流程,用 Amazon Nova Act 编写需要 5–10 分钟,对应的 Playwright 脚本需要 30–90 分钟。但他们保留了 Playwright,新增的是一层按意图执行的测试能力。

这篇 AWS ML Blog 案例更有价值的地方,是把模型、托管浏览器和测试结果封装成共享服务。读它要分清两件事:编写测试变快的工程路径,以及「回放通过率 100%」究竟证明了什么。

自然语言测试补的是哪一块

Epsilon 隶属 Publicis Groupe,业务涉及数亿消费者档案和数千个品牌关系。其 Agentic Platform 团队有 50 名工程师,负责让其他产品团队使用统一的 AI Agent 基础设施,包括身份、授权、Model Context Protocol(MCP)集成和跨账号资源配置。

他们已有的 Playwright 回归测试运行良好,至今仍是回归主干。新增能力针对两个问题:测试脚本与选择器、页面结构耦合;每个产品团队单独搭建浏览器、依赖和身份集成,又会重复投入。

Nova Act 承担的是把意图转成浏览器操作。例如,「确认奖励余额可见」比绑定具体 CSS 层级更接近业务要求;「如果出现引导框就跳过」「目标不可见就继续滚动」则把条件处理写进自然语言。

Epsilon 的做法是在 Playwright 之上增加意图测试,并通过平台统一交付。

这里的收益首先是减少编写操作脚本的工作。自然语言也更方便产品经理和 QA 负责人参与评审。不过,指令容易读懂,不等于验证标准足够严格。「余额可见」能检查展示,却未必能证明数值正确,后者仍需要明确预期。

从一句指令到可追踪的测试,中间还需要什么

这套服务分成三层:平台 API 创建工作流,后台任务执行工作流,Nova Act 联合 Amazon Bedrock AgentCore Browser Tool 控制浏览器。

用户提交 target_url 和自然语言步骤,平台在 AWS 注册 Nova Act 工作流定义。执行时,后台通过 Celery 处理异步任务,打开托管浏览器,再通过 Chrome DevTools Protocol(CDP)的 WebSocket 连接驱动页面。

下面这段代码解决的是「让 Nova Act 接管托管浏览器」:

import boto3
from bedrock_agentcore.tools.browser_client import browser_session
from nova_act import NovaAct

boto_session = boto3.Session(region_name=region)

with browser_session(region) as client:
    ws_url, headers = client.generate_ws_headers()
    with NovaAct(
        cdp_endpoint_url=ws_url,
        cdp_headers=headers,
        boto_session=boto_session,
        starting_page=url
    ) as nova_act:
        result = nova_act.act(instruction)

关键是 client.generate_ws_headers():它生成连接地址和请求头,再通过 cdp_endpoint_url、cdp_headers 交给 Nova Act。这只是浏览器集成的核心,租户隔离、结果存储和执行调度都在外围。

平台入口经过 API Gateway 的认证和权限检查,由 Django REST 提供工作流、执行、测试套件和统计接口。任务经 Amazon SQS 排队,由 Amazon ECS 上的 Runner Service 消费。系统逐步记录通过或失败、截图和整体通过率,把结果 JSON、截图、执行轨迹及 HTML 报告存入 Amazon S3,并通过完成钩子回写平台。

对使用方,能力表现为 ui-test-agent 的两个技能:ui-test-recorder 负责交互探索并记录步骤,ui-test-executor 负责执行并返回结构化结果。

新团队接入时,平台配置跨账号 IAM 角色、登记目标 URL,再授予 Agent 权限。Nova Act 使用标准 AWS 凭证链;通过 AWS STS AssumeRole,测试可在各团队自己的账号和受限角色下运行。

AgentCore Browser Tool 则负责临时隔离会话、浏览器生命周期、实时查看、人工接管、会话录制和 AWS CloudTrail 审计。所谓「每团队零基础设施开销」,指产品团队不必各自管理浏览器;共享平台仍然有人建设和维护。

提效数据,要连同探索和回放一起看

原文的代表性案例是「创建 Agent」流程,共 18 步,覆盖登录、表单填写、条件处理、滚动和验证。其中第 4 步处理可能出现的引导框,第 7 步处理目标不可见时的滚动。不过,提供的正文没有列出完整的 18 步指令,无法直接复现整条测试。

据 Epsilon 内部基准,Nova Act 编写这个流程需要 5–10 分钟,对应 Playwright 脚本需要 30–90 分钟、80–150 行代码。作者概括为编写速度提升 4–6 倍。这些时间区间不能直接推出统一倍数,原文也没有说明样本量和统计方式,适合当作他们团队的测量结果。

更关键的是执行分为两个阶段:草稿状态下探索、重试,通常经过 4–5 轮提示词迭代;成功后保存执行轨迹,进入激活状态再回放。重复运行因此可以跳过部分 LLM 推理,降低延迟和成本,但原文没有给出节省金额或耗时。

他们报告保存轨迹的重复回放通过率为 100%。

这个 100% 描述的是探索成功后的轨迹回放,不是任意新流程的首次成功率。

它也没有回答页面改版、数据变化、权限变化后还能保持多高通过率。回放是否能跨这些变化复用,原文没给测试范围。

运行环境还有几个具体约束。他们用独立的 FastAPI sidecar 固定 nova-act 3.x 及 AgentCore Browser Tool 客户端依赖,支持 Workflow 和 IAM 认证,避免与主后端的 Strands Agent 技术栈冲突。Runner 关闭时,worker 可以退回进程内执行。

团队还发现,Nova Act 签名端点指向 us-east-1,与浏览器会话区域无关。滚动指令则要考虑 AgentCore Browser Tool 的默认视口,不能假定目标已经进入可见区域。

我的判断

我认可这套方案把「测试怎么写」和「测试怎么运行」一起处理。单独接入模型,只能减少部分脚本工作;统一身份、浏览器、任务队列和调试材料,才能让多个团队持续使用。

但它的适用前提很鲜明:Epsilon 已有 50 人的平台团队、AWS 账号体系和统一 Agent 入口。普通前端团队如果只是维护一个站点,照搬整套服务,可能先增加平台建设成本。作者的组织条件不能从收益里扣掉。

自然语言也没有天然消除测试脆弱性。它可能降低对 DOM 结构的依赖,却增加对指令清晰度和模型判断的依赖。页面上有多个同名按钮、余额存在多种口径时,测试仍需要说明目标和预期。

与继续维护 Playwright 相比,这个案例支持「增加一种编写和执行方式」,还不足以证明全面迁移更划算。原文没有提供两种方案在相同页面变更下的维护工时、漏报率、误报率和长期总成本对照;有关稳健性和成本的判断,仍有相当部分属于团队经验。

能拿来做什么

  • 保留现有 Playwright 回归主干,选一条包含弹窗、滚动和表单操作的业务流程试用意图测试,同时记录编写时间、提示词迭代次数和失败原因。
  • 把自然语言步骤写成可判断的业务目标,并补齐必要条件。例如检查余额时,明确账号、余额类型和预期值,避免只验证页面上出现了一个数字。
  • 为每一步保存截图、结果和会话标识,并区分首次探索与轨迹回放。统计通过率时分别计算,才能看出模型探索和重复执行各自的可靠程度。
  • 多团队确有共享需求时,再建设统一执行入口,并隔离 Nova Act 的运行依赖;采用 AWS 跨账号模式时,用受限 IAM 角色明确每个团队的执行权限。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 AWS ML Blog,原文版权归原作者所有。

阅读原文
上一篇
用 A2UI 与 CopilotKit 构建智能体界面
下一篇
用 Kiro 将 PHP 迁移 Java 变成可验证流程

资讯速览

AWS ML Blog · 2026-10-30 02:20

AI 评分 8.0 / 10

相关标签

#自动化测试#AWS#Agent

继续阅读

  • Claude Code 误删报告揭示跨 Shell 执行风险
  • 用 A2UI 与 CopilotKit 构建智能体界面
  • 用 Kiro 将 PHP 迁移 Java 变成可验证流程
  • 仓库指令文件如何成为编程智能体攻击入口
  • 给 Claude Code 加停止规则,减少无效重试