开发与工程 gherkinplaywrightend-to-end-testingapi-testingsecurity-testingaccessibility-testinglanggraphdocker

Hercules 测试代理

全球首个开源测试代理,无需代码即可驱动 UI、API、安全、可访问性和视觉验证。

FollowAgents 评估 · FARS-2.1
不推荐
48/ 100 五分制 2.4 / 5
1 2 3 4 5 6
1信任安全8 / 29 · 1.4/5

证据显示:README 提到遥测默认开启,但未说明如何完全禁用;有环境变量控制浏览器、视频等,但未明确权限最小化原则;有用户确认机制(如 AUTO_MODE 环境变量)但未详细说明;数据流透明度有限,未详细说明遥测数据流向;敏感数据处理未明确;依赖安全有部分措施(如 pyproject.toml 中的 override-dependencies),但未提供完整漏洞扫描报告;外部影响(如浏览器操作)有说明但未提供回滚机制;来源归属有作者信息但发布者未验证。扣分原因:缺乏明确的权限最小化设计、用户确认流程不透明、数据流不透明、敏感数据处理不明确、依赖安全证据不足、无回滚机制、发布者身份未验证。

2可靠稳定8 / 14 · 2.9/5

证据显示:README 和 pyproject.toml 描述一致,但存在一些不一致(如 pyproject.toml 中 classifiers 包含 Python 3.10,但 requires-python 为 >=3.11);依赖列表完整,但未提供锁定文件(如 uv.lock)的详细信息;失败消息有基本说明(如输出日志和报告),但未提供详细的错误处理文档。扣分原因:自洽性有小瑕疵,依赖可用性未完全验证,失败消息不够详细。

3适用触发12 / 18 · 3.3/5

证据显示:README 提供了多种安装方式(PyPI、Docker、源码)和多种使用场景(UI、API、安全、视觉测试),受众明确;能力边界有说明(如支持的模型和浏览器),但未详细说明限制;触发精度有说明(如 Gherkin 步骤),但未提供详细的触发条件文档;环境适配有说明(如 Windows、Docker、远程浏览器),但未提供所有环境的详细配置。扣分原因:能力边界和触发精度文档不够详细。

4规范维护10 / 18 · 2.8/5

证据显示:README 结构清晰,提供了安装、使用、配置、输出等章节;安装说明详细,包括多种方法;命名稳定(如 testzeus-hercules 命令);提供了示例和 FAQ(视频教程);已知限制未明确列出;许可证为 AGPL-3.0,但未提供完整的许可证文本(仅部分);版本和变更日志未提供;维护责任有作者信息,但未明确维护策略。扣分原因:已知限制、版本变更日志缺失,许可证文本不完整。

5有效结果7 / 13 · 2.7/5

证据显示:输出包括 JUnit XML、HTML 报告、截图、视频等,可用性高;边际价值高,因为提供了自动化测试能力;成本效益未详细说明,但提供了多种安装方式。扣分原因:成本效益分析不足。

6证据核验3 / 8 · 1.9/5

证据显示:README 中的声明(如“世界首个开源测试代理”)未提供独立验证;跨来源验证有限,仅依赖 README 和部分代码;事实与推断未明确区分。扣分原因:声明缺乏可追溯性,跨来源验证不足,事实与推断混淆。

证据充分度: 评估于 2026年8月9日 审查版本 fa2b469e1a6a
源码中未见的安全控制:回滚或恢复路径
使用前请注意
  • 遥测默认开启,需确认是否可完全禁用及数据流向。
  • 发布者身份未验证,需谨慎评估供应链风险。
  • 依赖安全措施有限,建议检查依赖漏洞。
  • 无回滚机制,执行测试时需注意外部影响。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Hercules 是一个开源测试代理,把 Gherkin 用例转化为自动化端到端测试。它基于 LangGraph 状态机,通过 Planner、Executor 和 Assertion 节点协调导航代理(浏览器、API、安全、SQL、MCP 等)。用户以 Gherkin 编写测试,Hercules 负责执行并生成 JUnit XML 和 HTML 报告,附带视频、截图和网络日志作为执行证据。支持多种部署方式:PyPI 包、Docker 镜像、源码运行。它还可作为 MCP 服务器,并支持通过 MCP 客户端集成外部服务。

它读取 Gherkin 特征文件,将其解析为严格 JSON 计划,由 PlannerAgent 决策下一步动作,Executor 路由到对应的导航代理,如 browser_nav_agent、api_nav_agent、sec_nav_agent 等。这些代理绑定 LangChain StructuredTool(例如 open_url、click、bulk_enter_text)执行浏览、API 请求、安全扫描(通过 Nuclei)和可访问性检查。最后生成 JUnit XML 和 HTML 报告,并在 proofs 目录保存视频、截图和网络日志。也可通过 MCP 客户端调用,以 MCP 服务器形式提供 generate_gherkin、run_test 等工具。

  1. QA 工程师希望用自然语言 Gherkin 编写端到端测试,无需编写代码
  2. DevOps 团队将 Hercules 集成到 CI/CD 管道,使用 Docker 镜像自动运行测试
  3. 安全测试人员希望从 Gherkin 用例触发 Nuclei 漏洞扫描,识别 OWASP Top 10 问题
  4. 可访问性专家需要验证 WCAG 2.0/2.1/2.2 合规性(A、AA、AAA 级别)
  5. 开发团队希望复用社区工具,通过 ADDITIONAL_TOOL_DIRS 扩展能力
  6. 需要远程浏览器执行(如 BrowserStack、LambdaTest、BrowserBase)的团队,通过 CDP 连接

这个 Agent 有哪些优点和局限?

优点
  • 免代码:直接用 Gherkin 编写测试,无需编程
  • 多类型测试:支持 UI、API、安全(Nuclei)、可访问性和视觉验证
  • 多种部署方式:PyPI、Docker、源码,适应不同环境
  • 详细的执行证据:视频、截图、网络日志
  • 支持 MCP 集成,可扩展外部工具
  • 自动修复:自适应和自动修复能力减少维护
局限
  • 依赖 LLM API,需要付费(复杂用例约 $0.20/次)
  • 需要配置模型密钥和环境变量,入门门槛
  • Playwright 依赖和浏览器安装(playwright install)
  • Windows 用户需运行额外脚本(hercules_windows_setup.ps1)
  • 默认启用遥测,需手动禁用(ENABLE_TELEMETRY=0)

如何安装或部署这个 Agent?

安装 Python 3.11–3.13,然后运行:pip install testzeus-hercules;接着执行 playwright install --with-deps。或者使用 Docker:docker pull testzeus/hercules:latest。源码部署需克隆仓库、安装 UV,并运行 make setup-uv && make install。需配置 LLM 环境变量(如 LLM_MODEL_NAME、LLM_MODEL_API_KEY、LLM_MODEL_BASE_URL)。可选:设置 AGENTS_LLM_CONFIG_FILE 以进行按代理模型路由。

如何使用这个 Agent?

创建一个 Gherkin 特征文件(例如 opt/input/test.feature),设置环境变量 LLM_MODEL_NAME=gpt-4o、LLM_MODEL_API_KEY=your-key,然后运行:testzeus-hercules --project-base=opt 或指定 --input-file、--output-path、--test-data-path。测试执行后,在输出目录查看 JUnit XML 和 HTML 报告。Docker 运行:docker run --env-file=.env -v ./opt:/testzeus-hercules/opt --rm -it testzeus/hercules:latest。

这个 Agent 与同类方案有什么区别?

Hercules 对比传统测试框架(如 Selenium、Cypress)和 LLM 驱动的自动化(如 Agent-E),其突出优势在于开源、免代码且覆盖多类型测试。具体对比未在来源中详细说明。

常见问题

使用 Hercules 需要什么模型?
需要支持工具调用和 JSON 规划的 LLM,如 GPT-4o、Claude,或通过 OpenAI 兼容网关(如 LiteLLM)使用其他模型。
能否禁用遥测?
可以,设置环境变量 ENABLE_TELEMETRY=0 即可禁用遥测。
如何在 Docker 中连接远程浏览器?
设置 CDP_ENDPOINT_URL 指向 BrowserBase、BrowserStack 或自建 Chrome 实例,Hercules 即可连接。
测试失败时如何调试?
检查 output-path 中的 HTML 报告和 proofs 文件夹下的视频与网络日志,以及 agent_inner_thoughts.json 追踪内部决策。
能否在无 GPU 或低资源环境中运行?
可以,但需要可用的 LLM API。本地模型(如 Ollama)也可用,但需确保支持工具调用。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents