最新n1n v2.0.1 正式上线!企业级大模型接口聚合平台 (LLM API Gateway),为您接入 500+ AI Models,价格低至 1 折, 立即尝试

使用 AI 智能体在真实浏览器中自动测试 Jira 任务

作者
  • avatar
    姓名
    Nino
    职业
    Senior Tech Editor

传统的端到端(E2E)自动化测试一直存在维护成本高昂的痛点。每当 UI 界面出现微小改动,Cypress 或 Selenium 脚本往往就会因为选择器失效或断言超时而挂掉。随着大语言模型(LLM)与多模态视觉能力的发展,基于 AI Agent 的自主测试框架提供了一种全新解法:只需向智能体提供 Jira 任务单号与测试环境 URL,智能体就能自主提取验收标准(Acceptance Criteria)、规划测试步骤、控制真实 Chrome 浏览器进行点击交互,并实时判断测试用例是否通过。

本文将手把手带你使用两个开源项目搭建这套 AI 驱动的自动化 QA 测试系统:

  1. Agent Factory:基于节点图(Node Graph)的 Agent 编排与调试工作流平台。
  2. BaaS (Browser as a Service):基于 Go 语言开发的浏览器服务化引擎,可通过 REST API 驱动本地或远程 Chrome 浏览器执行页面导航、元素点击、截图与状态等待。

在构建高频交互的 AI 智能体时,极速且稳定的模型调用至关重要。通过接入 n1n.ai 提供的统一 API 网关,我们可以灵活调度高吞吐的大模型服务,大幅降低端到端测试的等待延迟。


系统整体架构图

整个测试流程由一个多节点组成的有向无环图(DAG)驱动。下图描述了 Jira、Agent Factory、BaaS 引擎以及大语言模型之间的协同机制:

+------------------+         +-------------------------------+         +-----------------------+
|    Jira Ticket   | ------> |  Agent Factory 编排引擎       | ------> |   BaaS Chrome 驱动    |
| (SCRUM-165 需求) |         |  (工作流与 Prompt 节点)       |         | (有界面 Chrome 窗口)  |
+------------------+         +-------------------------------+         +-----------------------+
                                             |                                    |
                                             v                                    v
                                 +-----------------------+              +-------------------+
                                 | 统一 LLM API 网关     |              | DOM 状态与截图    |
                                 | (n1n.ai 极速接口)     |              | 自动化断言        |
                                 +-----------------------+              +-------------------+

智能体工作流节点拆解

  1. Jira 数据拉取节点:通过 Jira REST API 和 Base64 基础认证获取任务描述与验收条件。
  2. 步骤生成节点 (llm-generate-steps):解析自然语言需求,分解为顺序排列的 QA 操作步骤。
  3. UI 布局适配节点 (llm-0):结合浏览器最新截图,将逻辑步骤定位到页面具体的视觉元素上。
  4. BaaS 指令转换节点 (llm-1):将操作意图翻译为 BaaS 浏览器脚本指令(如 navigate()、click()、type()、waitReady())。
  5. 视觉断言评估节点 (llm-2):对照预期结果分析页面渲染截图,给出 PASS、FAIL 或 BROKEN 判定报告。

方案对比:传统 E2E 测试 vs AI 浏览器智能体

特性维度传统 E2E 测试 (Cypress / Playwright)AI 测试智能体 (BaaS + Agent Factory)
脚本维护成本极高;前端元素 DOM 改动即导致脚本报错极低;LLM 结合视觉与语义动态识别 UI 元素
用例输入源必须由测试工程师编写代码测试集直接读取 Jira 任务、PR 描述或用户文档
断言逻辑硬编码 DOM 节点状态与属性判断语义化与多模态视觉对比校验
环境搭建成本需针对每个功能模块编写独立用例零代码编写,仅需配置 Prompt 与通用规则
运行可视化默认 Headless 无界面运行实时呈现 Headful 有界面 Chrome 操作过程

环境准备与前置要求

在搭建前,请确保开发环境满足以下基础条件:

  • 必须准备:
    • 一个 GitHub 账号(用于拉取代码仓库)。
    • 一个大语言模型 API Key(可使用 OpenAI、Anthropic,或通过 n1n.ai 统一获取)。
    • 本地安装有 Google Chrome 浏览器。
  • 推荐配置:
    • Docker 和 Docker Compose(用于快速部署 Agent Factory UI 平台与数据库)。
    • Go 1.20+ 开发环境(用于在本地以 Headful 带界面模式运行 BaaS 引擎)。
    • 一个具备 API Token 生成权限的 Atlassian 账号。

步骤一:部署 Agent Factory 工作流平台

首先拉取 Agent Factory 项目代码,并使用 Docker 启动其后台服务与持久化数据库:

# 克隆 Agent Factory 部署仓库
git clone https://github.com/Ursa-Minor-Beta/agent-factory-docker-api-ui.git
cd agent-factory-docker-api-ui

# 复制环境变量配置文件
cp .env.example .env

# 编辑 .env 文件,设置管理员账号与密码
nano .env

# 带数据库 Profile 启动服务
docker-compose --profile with-db up --build -d

启动完成后,在浏览器中打开 http://localhost:8080,确认能够正常访问 Agent Factory 登录界面。


步骤二:本地运行 BaaS(浏览器即服务)引擎

为了能够实时直观地观察 AI 智能体在 Chrome 界面上的操作过程,建议在本地环境直接运行 BaaS 引擎:

# 进入 baas 引擎目录
cd baas

# 在后台启动 MongoDB 依赖容器
docker compose up -d mongodb

# 复制环境变量模板
cp .env.example .env

编辑 baas/.env 文件,更新配置参数:

API_KEY=设置你的BaaS接口密钥

# 配置本地 Google Chrome 可执行文件路径
# macOS 示例:
BROWSER_EXECUTABLE='/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
# Linux 示例: BROWSER_EXECUTABLE='/usr/bin/google-chrome'
# Windows 示例: BROWSER_EXECUTABLE='C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe'

BROWSER_HEADFUL=true

LLM_CLIENT=openai
OPENAI_TOKEN="你的LLM API Token"
OPENAI_ORGANIZATION=