AngusTester 是什么:一个自动化测试平台,一份 YAML测试 Anything,计划和结果在一处

简介: AngusTester 是一个自动化测试平台。一份 YAML 描述接口、性能、页面、移动端和模型调用,计划、用例和报告在同一处。脚本由执行节点上的 Agent 运行。

AngusTester 是一个自动化测试平台,一份 YAML测试 Anything,计划和结果在一处。你在控制台里排计划和用例。要自动跑的部分写成一份 AngusScript 2.0 YAML,描述接口、性能、Web、移动端和模型调用。执行节点上的 Agent 真正跑这份脚本,不是浏览器里的控制台进程。跑完的结果挂回用例,也可以整理成一份可以冻结的报告。数据留在你这次安装里。

解决的主要问题

  • 接口、性能、页面、移动端和模型调用各写一套。每换一种测试,就要再维护一份脚本。这里用一份 AngusScript YAML 把这些步骤写在一起。人审的是计划和用例。真正执行的是执行节点上的 Agent,不是浏览器里的控制台进程。
  • 自动化占比上不去,是因为脚本要人从零写。顶栏的「AI 智能体」接的是 AngusAI 里绑定的 Tester 助手,用来起草 YAML。生成时先出预览,确认之后才保存进项目。进项目之前,人还是要在计划和用例上看过。用例能挂上脚本的多了,重复执行就不用再靠手工点。
  • 换环境就要复制脚本。地址、请求头和密钥写在 YAML 里,环境或密钥一变,就得多出一份副本。这些放在「环境」里。同一份 YAML 切到另一个环境,就是另一套被测目标。测模型调用时,供应商密钥也放这里,不写进脚本。
  • 报告还在跟着源数据变,留档就对不上当时的结论。执行详情看这一次的期望值和实际值。要交出去的那一份,确认后冻结成快照。源数据再变,这份归档不变。

注意: 它不扫描代码、密钥、依赖和镜像。那些检查在安全产品里做。脚本里的安全测试是对已经跑起来的主机、容器、端口和接口做只读检查,侧栏没有单独的安全菜单,结果在「执行」里看。testType: SECURITY 不会代替安全产品的门禁,也不会把结果推过去。平台不内置模型,也不代理任何 LLM。要测模型调用,把供应商的密钥放进环境。没有一台状态为 ONLINE 的执行节点,自动化不会在平台进程里直接跑。

主要功能

AngusTester 功能架构

登录后的第一屏叫「概览」,用来看待办、用例质量、缺陷和这一轮执行。

概览。标题是「概览」,副文案是查看待办、用例质量、缺陷和执行情况。主区域有待办、核心功能(计划、用例、问题、接口、报告、脚本、执行)、核心指标、我的项目和项目风险评估。顶栏有「AI 智能体」和「中文」。左侧是收起后的图标条。

列表按当前项目隔离。先看顶部的项目切换器,再读这一页的数字。换项目之后,计划、用例和执行都换成那一个项目的。

计划、用例、问题。 「计划」是一轮测试活动。计划里可以有迭代,迭代是计划内的时间盒。提测和回归都放在计划里,不必分成两个产品。「用例」写前置条件、步骤和预期结果。人审的是这份用例:待评审、待测试都从概览能点进去。「问题」留下缺陷。一次执行失败之后,可以把缺陷挂到这次执行上。手动用例和自动脚本各算各的覆盖,跑完的自动结果挂回用例。

接口。 「接口」管集合和端点,可以在线调试,也可以导入、导出 OpenAPI。调试用来确认地址和参数。要反复跑、要进计划、要留给流水线的,仍写成脚本,不把一次调试记录当成回归。

脚本和设计器。 脚本是一份 AngusScript 2.0 YAML。设计器按步骤拼同一份自动化。脚本有版本,也可以定时调度。协议步骤包括 HTTP、WebSocket、gRPC、JDBC、Kafka。Web 用 Playwright 或 Selenium。移动端用 Appium。性能步骤写并发、爬坡,以及 P99、错误率这类阈值。LLM 步骤调用你自己的供应商接口,断言延迟、Token 和 JSON 结构。

节点要先装好对应的浏览器、驱动。Appium 还要让设备连到这台节点机器。LLM 的密钥放在环境里,不写进 YAML 正文。

安全测试从「脚本」新建,没有单独路由。它检查的是跑起来之后的主机、容器、单主机端口、移动快照、已有模型输出和 Nuclei 结果,而且是只读。它回答的是这次运行基线是否符合,不是代码仓库里有没有已知漏洞。

执行。 「执行」是脚本的一次运行。状态包括排队中、已派发、执行中、已完成、已失败、已取消、已拒绝、定时调度。失败时,断言是字段:能看到期望值和实际值,而不是只有一个红点。执行详情是这一次的实时页面。执行报告是面向汇报的文档,两者不是同一页。

至少要有一台状态为 ONLINE 的执行节点,脚本、Web、移动端和 LLM 才会被领走。执行节点装着 Agent,端口默认 7100,脚本在这台机器上跑。应用节点只监控被测系统,不接脚本。设备有在线、离线、占用中、维护中。被占用的设备不会再被另一次执行抢走。

数据、环境、桥接。 「数据」放数据文件、变量和数据库连接,给参数化用。「环境」切换变量、请求头和密钥。同一份 YAML 换环境,就是换被测地址和密钥,不必复制脚本。「桥接」是 DevBridge,把本机服务当成联调目标,不用先把服务部署到节点旁边。

报告。 报告是一次或一批执行的汇总。实时报告会跟着源数据变。内容确认后点「冻结」,数据态变成快照(SNAPSHOT),不再随源数据变化。冻结不能在页面上撤销。已经冻结的报告不能重新生成。还要更新时,另建一份再冻结。删除报告不可逆。要留档的那一份,冻结之后就不要删。

顶栏的 AI 智能体。 它嵌入的是 AngusAI 里绑定的 Tester 助手,不是本产品「系统设置」里的另一套模型配置。未开通时顶栏仍可能看得到入口,对话会提示鉴权失败。助手可以起草脚本。保存进项目之前,人还是要在计划和用例上看过。

应用场景

  • 同一个发布候选要同时看接口契约和关键页面,以前得分成两个工程、两份报告。 在当前项目里建一个计划,把这两类用例放进同一轮,该评审的先过评审。HTTP 断言和 Playwright 步骤写在同一份 YAML 里。至少一台执行节点是 ONLINE,脚本才会被领走。通过和失败挂回对应用例。失败的那条打开执行详情,对照期望值和实际值。交给流水线时,用 REST 触发这份脚本再轮询这次执行。断言失败则这次执行是已失败。还在跑时读到 completed=false,不能当成通过。

  • 用例停在手工,是因为 YAML 要从零写。 顶栏「AI 智能体」用 AngusAI 里绑定的 Tester 助手起草脚本。tester_generate_script 只返回预览,不保存。确认后带着 confirmationId 调用 tester_invoke,控制台里才看得到。保存进项目之前,人还是要在计划和用例上看过。助手没接通时,对话会提示鉴权失败,用例也不会因此变成已自动化。

  • 预发和生产各有一份脚本,地址或密钥一变,两份就分叉。 地址、请求头和密钥放在「环境」里。同一份 YAML 切到另一个环境,就是另一套被测目标。测模型调用时,供应商密钥也放这里,不写进 YAML。平台不托管模型。

  • 压测数字确认过,报告随后又跟着源数据变了,归档对不上当时的结论。 在同一份 YAML 里加上并发、爬坡,以及 P99 和错误率。跑在执行节点上,不在浏览器进程里。结果整理成报告,数字确认后点「冻结」,数据态变成快照。冻结不能在页面上撤销,也不能重新生成。还要一份新结论,就另建一份再冻结。

核心亮点

  • 人审计划和用例,跑的是同一份 YAML。 少做的那一步,是接口一套工程、页面另一套工程、压测再第三套。用例里写预期。脚本里的断言按这个预期去比。失败写在执行详情里,字段是期望值和实际值。计划和报告不用再导出到表格里对序号。

  • 第一屏是概览,不是菜单树。 左侧菜单收起后,只剩一列图标。标题是「概览」。能读到的是待办四项,以及核心功能上的计划、用例、问题、接口、报告、脚本、执行。时间范围在右上角。顶栏有「AI 智能体」、「中文」和主题开关。百分比和项目名单会变,不在这里当功能说明。

  • 换环境不复制脚本。 地址、请求头和密钥在「环境」里。同一份 YAML 切到另一个环境就是另一套被测目标。LLM 的供应商密钥也放这里。平台不托管模型,也不把密钥写进脚本正文。

  • 没有 ONLINE 的节点,脚本不会自己跑。 执行节点上的 Agent 领走脚本。应用节点只看被测系统。Web 和移动端还要节点上已经有浏览器、驱动,移动设备要连到这台机器。这是运行条件,不是再装一个控制台。

  • 报告可以冻结成不再变的快照。 执行详情看这一次。报告给要留档的人。冻结之后内容固定,不能在页面上撤销,也不能重新生成。还要一份新结论,就新建报告再冻结。

  • 安全脚本只检查跑起来的系统。 从脚本新建,结果在执行里。它是只读的主机、容器、端口和接口检查。代码和镜像的门禁不在这里下结论,也不要把它的通过当成仓库扫描已经通过。

部署方式

本包安装 AngusTester 2.0.0,并带上门户。浏览器先打开门户,再打开本产品。有 Docker 时走安装向导,默认是 Docker Compose。没有 Docker,走主机 ZIP。安装机不能访问公网,走离线安装。Kubernetes 的 Helm 目前是预览,不要当成生产安装。

生产用 Linux x86_64。试用可以用 macOS。docker compose version 要能打出版本号。macOS 用当前登录用户跑向导,不要加 sudo。Linux 要装到 /opt/angus,先把目录所有者改成当前用户。

80 端口空闲。要 HTTPS 时 443 也空闲。Agent 跑脚本用 7100。8807 和 8801 是应用自己的端口,反向代理会转发。9528 不要映射到公网。gm.<你的域名> 和 tester.<你的域名> 解析到这台机器。安装包从 https://repo.anguskit.com 的 raw-public 下载。解压目录是 AngusTester-2.0.0。

unzip <安装包>.zip
cd AngusTester-2.0.0
./install.sh

Windows 在 Docker Desktop 里执行 .\install.bat。向导提示是英文。

向导提示 你输入什么 它决定什么
Install mode 回车 Docker Compose。没有 Docker 时改用主机 ZIP
Access 输入 2 自带反向代理和子域名。回车留在按端口访问
反向代理 回车 Caddy。Let's Encrypt 只能配 Caddy
证书 必须输入数字,没有默认 1 已有 PEM,2 自签,3 Let's Encrypt,4 只用 HTTP
数据库 回车 Compose 在本机起 MySQL 8
安装目录 回车 当前解压目录,即 $ANGUS_HOME
根域名 example.com 这种根域 填 tester.example.com 会多拼一层。IP 或 localhost 会停下

管理员密码至少 8 位。不要沿用向导给出的公开默认数据库口令。数据目录只在第一次创建时采用这个口令。之后只改配置文件、不改库里已经存下的口令,应用会连不上。默认字符串不写在这里。

证书选 1、2 或 3,打开 https://gm.<你的域名>/,再打开 https://tester.<你的域名>/。选 4 则两边都是 http://。自签时浏览器会警告。当前安装包在选 Let's Encrypt 时,仍会为七个产品子域申请证书,即使这台机器只装了本产品和门户。那七个名字都要解析到本机,或者改用通配符证书。只走 HTTP 时选 4,不受这条限制。

成功是日志末尾两行:doctor: OK 和 Install finished. 日志在 $ANGUS_HOME/logs/install.log。之后执行 ./bin/angusctl.sh doctor。装完控制台还不够跑自动化,还要有一台 ONLINE 的执行节点,Agent 端口是 7100。

MCP 接入

经网关的地址是 https://<gateway-host>/tester/mcp。私有化没有产品前缀时,改为 https://<tester-host>/mcp。令牌放进 ANGUS_TESTER_TOKEN,请求头是 Authorization: Bearer。令牌在头像「我的」里签发,必须是本门户的用户访问令牌。别的产品的令牌会得到 401,响应里没有工具列表。不要把令牌写进仓库。

未把 MCP 关掉时,端点按部署说明打开。写开关缺省是打开的。设成 false 之后,写工具不出现。关掉整个 MCP 不影响原来的 REST。出站请求会带 X-Angus-Client-Source: mcp。用户令牌管理、删除项目或节点不会出现在可调用工具里。MCP 不会扩大这个账号的权限。

写之前先预览。tester_generate_script 按名称和项目起草脚本并校验,只返回预览,不保存。确认后带着 confirmationId 调用 tester_invoke,控制台里才看得到这份脚本。tester_report_defect 同样是没带 confirmationId 时只预览。tester_run_and_wait 会跑已有脚本,模式是 dryrun、execute 或 debug,最多等大约 30 秒。没跑完就返回 executionId 和 completed=false,接着用 tester_invoke_read 查,不要再跑一次。tester_explain_failure 给出失败断言的期望值和实际值。tester_schema_validate 按内置 schema 检查 YAML。流水线的门禁规则仍在平台里配置,不由 MCP 替你改。

SDK 接入

官方 REST SDK 版本 2.0.0。Java 构件 angus-tester-sdk,包名 cloud.xcan.angus.sdk.tester。npm 是 @anguskit/angus-tester-sdk。PyPI 是 angus-tester-sdk。Go 模块是 github.com/anguskit/angus-sdk-tester。没有官方 NuGet 包。

认证头是 Authorization: Bearer <access_token>。网关 Base URL 是 https://bj-c1-prod-apis.anguskit.com/tester。路径前缀 /api/v1/**。冒烟请求是 GET /api/v1/user/profile。列计划是 GET /api/v1/test-plans。字段以 API 参考里的 OpenAPI 为准。/innerapi 不在官方 SDK 里。

脚本语言仍是 YAML。SDK 用来触发、查询计划和执行,不代替 AngusScript。流水线要挡发布,调的是执行接口,然后看这次执行是不是已失败。

FAQ

没有节点能不能在浏览器里把脚本跑完?
不能。自动化在执行节点的 Agent 上跑。节点状态要是 ONLINE。应用节点只监控,不接脚本。

一份 YAML 能覆盖哪些?
接口(HTTP、WebSocket、gRPC、JDBC、Kafka)、性能、Web、移动端和模型调用,都写在 AngusScript 里。安全测试也是脚本的一种,只读检查已经跑起来的系统。

失败之后看哪里?
看这次执行的详情。失败断言带期望值和实际值。要留档,把报告冻结成快照。冻结不能在页面上撤销。

助手生成的脚本为什么控制台没有?
tester_generate_script 只预览。带着返回的 confirmationId 调用 tester_invoke 才会保存。

SDK 能不能换成测试脚本?
不能。SDK 调 REST。要反复跑的步骤写在 YAML 里。

从哪登录?
先开 gm.<你的域名>,再开 tester.<你的域名>。不要把 8807 当成对外入口。

参考文章

相关文章
|
6天前
|
JavaScript API iOS开发
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(DSH)是DeepSeek于2026年开源的MIT协议AI Agent框架,支持插件化组装模型、工具、沙箱与UI,兼容主流大模型。本文提供免Node.js的桌面端安装包(Win/macOS),含详细图文教程及热门插件推荐。
3041 27
|
1天前
|
云安全 人工智能 安全
|
6天前
|
Linux 开发工具 iOS开发
Codex保姆级教程(下载+安装+登录+使用,含所有版本,2026最新)
Codex是OpenAI推出的开源AI编程智能体,本地运行,可理解整个代码库,支持自然语言指令改代码、执行命令、跑测试、修Bug,兼容Win/macOS/Linux。(239字)
|
7天前
|
iOS开发 Docker MacOS
【2026实测】Docker Desktop下载、安装、汉化、配置教程(附官网安装包)
Docker Desktop 是 Docker 官方推出的桌面容器管理工具,集成引擎、CLI、图形界面与 Kubernetes,支持 Win/macOS/Linux。2026 最新版 4.88.1 强化 ARM 原生运行、镜像加速及资源可视化,附中文汉化与国内镜像配置指南。
1338 5
|
云安全 安全 网络安全
|
7天前
|
安全 算法 定位技术
《高性价比人生指南》完整原版:普通人用最少的资源,过好这一生的底层逻辑~How To Live Better
📖《高性价比人生指南》是一份基于实证、拒绝焦虑的生存手册,倡导以“人生时薪”为视角,重新计算时间、金钱与精力的成本与收益。它不承诺逆袭,只教人算清账:省下的钱若耗掉时间便亏;买体验比买物品更值;睡眠是最高杠杆的健康投资;关系贵在情绪价值而非表面热络;学习重在改变行为而非自我安慰。核心理念:用低成本、高回报的微小行动,换取长期的选择权——不是成为谁,而是掌控自己人生的主动权。
|
20天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
3467 53
|
12天前
|
人工智能 JSON Linux
【保姆级】ComfyUI部署教程(下载+安装+配置+工作流,2026最新)
ComfyUI 是一款开源节点式AI生成工具,支持图像、视频、音频及3D内容创作。通过拖拽连线组合模型加载、提示词、采样等节点,构建可复用、易修改的工作流,兼容SD1.5、SDXL、Flux、Qwen Image等主流模型。

热门文章

最新文章