Skip to main content

AI-driven end-to-end testing platform with MCP-First architecture

Project description

OpenTester

MCP-First 测试执行基础设施

OpenTester 是专为 AI 编码工具(Claude Code、Cursor、OpenCode 等)设计的测试执行引擎。它提供统一的 DSL 格式和 MCP 接口,让 Agent 能够生成、执行和管理测试用例,实现"编码-测试-修复"的自动化闭环。

核心定位

┌─────────────────────────────────────────┐
│  AI Agent (Claude Code / Cursor / ...)  │
│  ├─ 生成 DSL 测试用例                    │
│  ├─ 决策测试策略                         │
│  └─ 分析失败原因                         │
├─────────────────────────────────────────┤
│  OpenTester (MCP Server)                │
│  ├─ 验证 DSL 语法                        │
│  ├─ 执行测试 (CLI/GUI/TUI)               │
│  ├─ 存储用例/项目                        │
│  └─ 返回结构化结果                       │
├─────────────────────────────────────────┤
│  Web UI (辅助观察面板)                    │
│  ├─ 查看执行进度                         │
│  ├─ 调试用例(创建/编辑)                 │
│  └─ 查看历史报告                         │
└─────────────────────────────────────────┘

安装

pip install opentester

快速开始

启动服务

# 一键启动 FastAPI + MCP(前台模式)
opentester start

# 后台运行
opentester start --daemon

# 只启动 API
opentester start --api

# 只启动 MCP
opentester start --mcp

# 查看状态
opentester status

# 停止服务
opentester stop

# 环境检查
opentester doctor

配置 Claude Code

.claude/settings.json 中添加 MCP 配置:

{
  "mcpServers": {
    "opentester": {
      "url": "http://localhost:8001/mcp"
    }
  }
}

配置 Claude Desktop (STDIO)

{
  "mcpServers": {
    "opentester": {
      "command": "opentester",
      "args": ["start", "--mcp", "--stdio"]
    }
  }
}

核心功能

  • DSL 验证: YAML 格式的测试定义语言验证
  • 测试执行: 支持 CLI、GUI、TUI 多种执行目标
  • 项目管理: 项目存储于 ~/.opentester/projects/
  • 实时监控: WebSocket 实时推送执行进度

MCP 工具列表

工具 描述
listProjects 列出所有测试项目
getProject 获取项目详情
createProject 创建项目
deleteProject 删除项目
validateDSL 验证 DSL 语法
saveCase 保存用例
deleteCase 删除用例
runCase 执行单个用例
runProject 执行整个项目
stopExecution 停止执行
getExecutionStatus 获取执行状态
getExecutionLog 获取详细日志
listTemplates 列出模板
createTemplate 创建模板
instantiateTemplate 从模板创建用例

端口

数据存储

  • 项目数据: ~/.opentester/projects/{project_id}.json
  • 执行日志: ~/.opentester/executions/
  • PID 文件: ~/.opentester/pids/

开源协议

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opentester-0.1.1.tar.gz (80.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opentester-0.1.1-py3-none-any.whl (55.0 kB view details)

Uploaded Python 3

File details

Details for the file opentester-0.1.1.tar.gz.

File metadata

  • Download URL: opentester-0.1.1.tar.gz
  • Upload date:
  • Size: 80.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for opentester-0.1.1.tar.gz
Algorithm Hash digest
SHA256 34853625071d508e696abed550856c435017a027c7c7ae6d586ef90e2d763322
MD5 afbc2d0cf98eeda8974675e60a50edee
BLAKE2b-256 29be167e5299b66074bae9c2f017f03709316771c33b17ec900ca01aa6eb5478

See more details on using hashes here.

File details

Details for the file opentester-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: opentester-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 55.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for opentester-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a2b24f30628dd0172a48afd0c11e7686264cc0215d471da56be07a861777dde7
MD5 528419ea52a4a28b269d1a226a12ace5
BLAKE2b-256 44dadee61c7098ba23e95ed022d4f58ecd9780949b59a065a545f205ff89a6bc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page