aifollow.news
Back AWS 机器学习博客
AWS 机器学习博客· · Original publication time AI score47

Epsilon uses Amazon Nova Act to provide natural-language UI testing to product teamsMachine translation

Epsilon 用 Amazon Nova Act 为产品团队提供自然语言界面测试

Automatically verified and published · Generated and evidence-checked automatically; not reviewed by a human.

AI-assisted summary

Epsilon is running a UI testing service across multiple product teams. Teams write test steps in natural language, which Amazon Nova Act executes with Amazon Bedrock AgentCore Browser Tool, while the service records results for each step. In Epsilon’s internal benchmarks, authoring an 18-step workflow took 5–10 minutes, versus 30–90 minutes for an equivalent Playwright script. The service supplements its existing Playwright regression tests.

Article · AI translation

为了在各产品团队中扩大意图驱动的 UI 测试规模,数据、技术和营销服务公司、阳狮集团旗下的 Epsilon 采用了 Amazon Nova Act。Epsilon 拥有数亿份消费者档案,并与数千个品牌建立了合作关系,因此需要能够跟上应用快速变化的 UI 测试。解决方案不能给每个产品团队带来维护负担。在 Epsilon 内部,Agentic Platform 团队(50 名工程师)构建共享基础设施,让其他产品团队能够安全地构建、部署、治理和运行 AI 智能体。通过这个共享平台,团队可以使用基于技能的智能体构建工具,还可以使用联合身份、运行前授权、模型上下文协议(MCP)集成和跨账户资源配置。当产品团队希望采用 AI 工具时,无需额外配置,也无需自行重新解决身份、安全、浏览器基础设施或模型集成问题,就能获得相关能力。UI 测试就是这些托管能力之一。借助 Amazon Nova Act 和 Amazon Bedrock AgentCore Browser(Amazon Bedrock AgentCore 的一项能力),Epsilon 的平台团队能够为平台上的团队提供具有韧性的意图驱动测试服务。本文将介绍 Epsilon 用于将 UI 测试作为托管平台服务交付的架构,展示 Nova Act 与 Amazon Bedrock AgentCore Browser Tool 集成的核心代码,重点介绍一个具体的 18 步测试工作流,并分享最佳实践和测量结果。挑战:扩大覆盖范围,同时保留行之有效的做法。Epsilon 现有的 UI 测试实践并没有出问题。团队维护着一套基于 Playwright 的回归测试套件,用于验证其 Web 应用的功能,而且运行良好。如今,Playwright 仍是其回归测试的支柱。Epsilon 发现的机会是补充现有做法,而非纠正问题:脚本化 Playwright 测试适合执行确定性的回归检查,但它们与选择器和页面结构紧密耦合。即使底层功能正常,外观上的 UI 变化也可能使测试失效。多个产品团队都需要针对各自的应用获得全面的测试覆盖。每个团队分别搭建浏览器基础设施、管理依赖项并与身份系统集成,会造成重复劳动。平台团队希望 UI 测试成为符合现有智能体模型的托管能力,而不是每个接入团队都必须操作的定制 CLI。目标是在现有 Playwright 回归测试套件之上增加基于意图的测试,并将其作为多租户平台服务交付,让 Epsilon 的每个产品团队都能通过其使用其他所有智能体能力的同一套 API 接口来调用。Epsilon 为何选择 Amazon Nova Act 和 Amazon Bedrock AgentCore Browser Tool。Epsilon 根据 2 项要求评估了各种方案:使用自然语言编写测试(补充基于选择器的 Playwright 测试),以及托管浏览器基础设施(适应其多租户平台模式)。Amazon Nova Act 与 Amazon Bedrock AgentCore Browser Tool 相结合,能够同时满足这 2 项要求。自然语言步骤:测试步骤是由 Nova Act 执行的普通英语指令。它们能够抵御外观上的 UI 变化,非工程师也能读懂。像“确认奖励余额可见”这样的步骤,比脆弱的 CSS 选择器更不容易随着时间推移而失效。AWS 托管的临时浏览器会话:借助 Amazon Bedrock AgentCore Browser Tool,团队可以获得隔离的浏览器实例,无需分发浏览器二进制文件,也无需维护显示服务器。Amazon Bedrock AgentCore Browser Tool 还提供供人工观察或接管的实时视图(适用于验证码或多因素身份验证)、录制会话并存储至 Amazon Simple Storage Service(Amazon S3),以及 AWS CloudTrail 审计,这些都无需额外配置。基于 AWS Identity and Access Management(AWS IAM)的身份验证:使用 Nova Act,可以通过标准 AWS 凭证链(任务角色)进行身份验证。这符合 Epsilon 现有的安全模型,无需分发单独的 API 密钥。便于跨账户使用:Nova Act 和 Amazon Bedrock AgentCore Browser Tool 可以接入现有的 AWS Security Token Service(AWS STS)AssumeRole 资源配置流程。每个接入的团队都可以在自己的 AWS 账户中,以权限范围受限的角色运行测试,从而保持隔离性和可审计性。Epsilon 特别选择 Amazon Bedrock AgentCore Browser Tool,是因为它消除了管理浏览器二进制文件、显示服务器和会话生命周期的运营负担。Agentic Platform 团队无意自行管理这套基础设施。解决方案:架构与实现。Epsilon 的解决方案有 3 个主要组成部分:用于创建工作流的平台 API、用于执行工作流的后台任务运行器,以及驱动浏览器的 Nova Act 与 Amazon Bedrock AgentCore Browser Tool 集成。平台架构:Epsilon 的 UI 测试能力遵循清晰的流程。用户通过平台 API 创建工作流,指定 target_url 和自然语言步骤列表。创建时,平台会在 AWS 上注册 Nova Act 工作流定义。执行时,后台任务运行器(Celery,一个用于异步作业处理的 Python 框架)会打开一个 Amazon Bedrock AgentCore Browser Tool 浏览器会话。运行器通过 Chrome DevTools Protocol(CDP)WebSocket(用于以编程方式控制 Chromium 浏览器的标准接口),让 Nova Act 执行每个步骤,包括条件逻辑(例如“如果出现引导提示框,就跳过它”)。系统会为每个步骤截取屏幕截图、记录每步的通过或失败情况、计算总体通过率,并存储所有内容(结果 JSON、Amazon S3 中的屏幕截图及会话 ID)。随后触发完成钩子,将结果记录回平台。图 1:Epsilon 的 UI Testing Service 架构。图 1 展示了 Epsilon 的 UI Testing Service 的分层架构。用户请求从 Agent Cloud Frontend 发出,经过执行身份验证和权限检查的 API Gateway。API 层(Django REST)提供工作流、执行、自动化套件和统计数据的端点。业务逻辑层包括 Workflow Manager、Execution Orchestrator 和 Suite Coordinator。测试作业进入 Amazon Simple Queue Service(Amazon SQS)队列,由运行在 Amazon Elastic Container Service(Amazon ECS)上的 Runner Service 获取;该服务包含 Nova Act 引擎和无头 Chromium 浏览器。结果、屏幕截图、执行轨迹和 HTML 报告存储在 Amazon S3 中。这项能力以标准智能体(ui-test-agent)的形式提供,包含 2 项技能:ui-test-recorder:以交互方式探索场景并记录自然语言步骤。ui-test-executor:运行记录的步骤并返回结构化结果。已接入的团队使用 UI 测试的方式与使用其他平台智能体相同,无需管理额外基础设施。接入流程很直接:平台团队为新团队配置跨账户 IAM 角色、注册其目标应用 URL,并通过现有平台 API 授予其访问 ui-test-agent 的权限。此后,团队就可以通过已经用于其他平台能力的同一接口创建工作流、触发执行并获取结果。核心集成:Nova Act 与 Amazon Bedrock AgentCore Browser Tool 的集成代码很简洁: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)。这一模式——打开托管浏览器会话、通过 CDP WebSocket 连接,并以自然语言驱动操作——构成了基础。Epsilon 在其外层加入平台的多租户编排、结果捕获和可观测性层。示例:自动化“创建智能体”流程。为了说明基于意图的测试,下面是 Epsilon 平台的一个代表性工作流。它涵盖登录、填写表单、条件处理、滚动和验证。以下步骤突出了 Nova Act 的不同之处:步骤|指令:1 输入用户名并选择“下一步”;2 输入密码并选择“验证”;3 导航至“创建智能体”,然后选择“设计新规范”卡片;4 如果出现新手引导提示框,选择“跳过引导”,然后验证是否加载了正确的页面;5 填写智能体名称和描述字段;6 向下滚动,直到“目标陈述”字段可见,然后填写该字段;7 如果技能搜索框不可见,就滚动到它出现,然后搜索并添加一项技能;8 选择“保存”,确认成功提示,返回并验证新智能体是否出现在列表中。步骤 4 和 7 展示了条件逻辑:“如果某个元素出现,就处理它”以及“如果目标不可见,就滚动到它可见”。在传统框架中,这些模式需要显式编写分支。Nova Act 通过语言理解自然地处理这些情况。运行时隔离:Epsilon 在专用运行器服务(一个 FastAPI 边车)中运行 UI 测试,该服务将 nova-act 固定在支持 Workflow 和 IAM 身份验证的 3.x 版本,并包含 Amazon Bedrock AgentCore Browser Tool 客户端。这使依赖项与主后端分离,避免与 Strands 智能体技术栈发生冲突。如果运行器被禁用,工作进程会回退到进程内执行,以提高部署期间的韧性。最佳实践:根据将 UI 测试构建为平台能力的经验,Epsilon 团队提出以下建议:1. 用意图而非操作细节编写步骤。好的写法:“确认奖励余额可见”。不好的写法:await page.locator('#rewards-balance-container > span.amount').toBeVisible()。基于意图的步骤能够经受 UI 重新设计。可能不会编写代码的产品经理和质量保证(QA)负责人也能直接审阅这些步骤。2. 隔离 Nova Act 运行时。将 Nova Act 和 Amazon Bedrock AgentCore Browser Tool 的依赖项固定在专用服务或容器中。Epsilon 发现,无论浏览器会话位于哪个区域,Nova Act 的签名端点都指向 us-east-1。将其放在有独立依赖锁定文件的服务中,可以避免难以调试的冲突。3. 复用已记录的轨迹以降低成本。Epsilon 在草稿状态使用轨迹重试,保存成功的轨迹,并在活跃状态回放。重复运行会跳过多余的大语言模型(LLM)“思考”,从而降低回归式重复执行的延迟和成本。4. 从一开始就为多租户设计。使用跨账户 AssumeRole 和权限范围受限的 IAM 策略。每个租户的测试都在其自己的账户中,以其自己的角色运行。这无需为每个团队构建定制基础设施,就能提供隔离性、可审计性,并限制故障影响范围。5. 利用托管的可观测性能力。借助 Amazon Bedrock AgentCore Browser Tool,团队可以获得实时视图、会话录制和 AWS CloudTrail 集成。Epsilon 使用这些内置能力,而不是构建定制可观测性系统,从而减少维护工作,并为合规团队提供熟悉的审计渠道。6. 考虑 Amazon Bedrock AgentCore Browser Tool 的视口行为。在为 Nova Act 编写步骤提示时,要考虑 Amazon Bedrock AgentCore Browser Tool 的默认浏览器视口。提及滚动的步骤(例如“向下滚动,直到‘目标陈述’文本框可见”)可以验证 Nova Act 是否正确处理页面下方的内容。结果与影响:Epsilon 的 UI 测试能力已在多个团队中投入运行,多租户架构也已在生产环境中得到验证。维度|Amazon Nova Act|Playwright(等效):编写内容量|18 个自然语言步骤|约 80–150 行代码;选择器/DOM 检查|无|每个交互步骤都需要;编写时间(每个工作流)|约 5–10 分钟|约 30–90 分钟;工作量比率|基准|工作量增加 4–6 倍。测量结果如下:测试编写速度提高 4–6 倍(基于 Epsilon 的内部基准测试)。一个具有代表性的 18 步工作流使用 Nova Act 编写耗时 5–10 分钟,而等效的 Playwright 脚本(80–150 行代码)耗时 30–90 分钟。Playwright 脚本中的每个交互步骤都需要检查 DOM、选择稳定的选择器,并编写显式等待、断言和条件分支。Nova Act 用 18 条自然语言指令取代了这些逐步工作,无需检查选择器或 DOM,条件逻辑(例如处理引导提示框和滚动到元素可见)也用普通英语表达。轨迹回放通过率为 100%(基于 Epsilon 的内部基准测试)。工作流通过初始探索阶段(通常需要 4–5 次提示迭代)后,Epsilon 会保存成功的轨迹并以确定性方式回放。在重复运行中,已保存轨迹的通过率达到 100%。降低测试编写门槛。步骤读起来像普通英语。核心测试工程师之外的团队成员也能阅读、审查和提出测试建议,从而让更多人参与质量保障。内置审计轨迹。AWS CloudTrail 集成和 Amazon Bedrock AgentCore Browser Tool 会话录制让调试及合规沟通更加容易。这是团队最初没有预期到的收益。各团队无需承担基础设施开销。已接入的团队通过与其他所有平台智能体相同的 API 接口获得 UI 测试能力。无需管理浏览器二进制文件、Selenium 网格或显示服务器。每个步骤的通过/失败状态清晰可见。每一步截取的屏幕截图提供细粒度的调试上下文,缩短诊断故障的平均时间。“Nova Act 让我们把 UI 测试从一项脆弱、需要不断追着选择器修改的繁琐工作,转变为托管的平台能力。现在,我们的测试用普通英语描述意图,在 AWS 托管的浏览器上运行,而我们接入的每个产品团队无需额外配置就能获得可靠的测试能力。”——Epsilon Agentic Platform 团队。了解更多:Epsilon 的 Agentic Platform 团队展示了如何使用 Amazon Nova Act 和 Amazon Bedrock AgentCore Browser Tool,将具有韧性的意图驱动 UI 测试作为托管服务交付。您可以将同样的模式应用于自己的多租户平台,以消除浏览器基础设施的运营负担,并让非工程师也能编写测试。如果您希望使用 Amazon Nova Act 和 Amazon Bedrock AgentCore Browser Tool 构建类似的意图驱动 UI 测试能力,可以从以下资源入手:Amazon Nova Act 文档;Amazon Bedrock AgentCore Browser Tool 用户指南;PyPI 上的 Nova Act Python SDK;Amazon Bedrock AgentCore 文档;Nova Act + Amazon Bedrock AgentCore Browser Tool 示例代码(GitHub)。相关文章:使用 Amazon Nova Act 通过智能体式 QA 自动化加速软件交付。要进一步了解贵组织如何将基于意图的浏览器自动化用于测试,请访问 Amazon Nova Act 产品页面。Epsilon 是阳狮集团旗下公司。详情请访问 epsilon.com。关于作者:Sakthivel Chellapparimanam。Sakthivel 是 Amazon Web Services 的解决方案架构师,常驻印度金奈。他与企业客户合作,推动 AI/ML 采用、智能体架构和云原生现代化。Sidhartha Kotha。Sidhartha 是 AWS 的技术客户经理。他与企业客户合作开发 AI 驱动的解决方案,重点关注如何采用生成式 AI 提高运营效率。工作之余,他喜欢探索开源自动化框架,并指导有志成为云工程师的人。Manik Sahu。Manik 是 Epsilon 的高级软件工程经理,专长于数据工程、智能体 AI 和云架构。他常驻班加罗尔,在使用 FastAPI、Amazon Bedrock 和 LangGraph 等框架设计先进技术系统方面拥有丰富经验。Swastika Sinha。Swastika 是 Epsilon 的软件工程师,在印度班加罗尔的 Agentic Platform 团队工作。她的工作重点是设计和构建生成式 AI 平台及服务,以支持 AI 智能体、知识图谱、MCP 服务器、智能体工作流和其他下一代生成式 AI 技术的构建与托管。Sekh Mohammad Warish。Sekh 是常驻达拉斯的 AWS 高级技术客户经理,在生成式 AI、SAP 和云现代化领域拥有 22 年的 IT 经验。他帮助企业客户采用智能体 AI 和 Amazon Nova 等新兴技术,并将其转化为可用于生产环境的解决方案。他因获得最多 IT 认证而成为 World and India Book of Records 的纪录保持者,并将终身学习的热情投入到每次客户合作中。Sudeesh Veettil。Sudeesh 是 AWS 的高级技术客户经理,常驻得克萨斯州达拉斯地区,在科技行业拥有超过 20 年的经验。他帮助企业客户在 AWS 上设计、构建和运行安全、具有韧性且高效的解决方案,专长于 AI 工作负载的卓越运营和韧性工程。

Found an error? Send a correction