Token导航 LogoToken导航TokenDH.com
Opencode Test logo
浏览器工具未说明官方级别未说明来源级核验

Opencode Test

MCP Server

基于YAML的Playwright测试框架CLI工具,支持多环境配置、智能HTML报告和会话持久化功能,用于自动化测试管理。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
测试自动化浏览器自动化JavaScriptClaude命令行工具Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

0xHertz

提供方

0xHertz

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

开放代码测试

从https://github.com/terryso/claude-test.git

🎯 英语 | 中文

基于YAML的Playwright MCP测试框架CLI,适用于OpenCode。这是 官方CLI包 这使您可以在任何项目中轻松初始化、管理和更新复杂的测试框架。

🚀 最新动态革命性的会话持久性、多环境支持和智能HTML报告,测试覆盖率为84.95%。

安装

npm ci
npm pack
npm install -g xxxxxxxx.tgz

快速开始

1.全局安装

npm ci
npm pack
npm install -g xxxxxxxx.tgz

2.在项目中初始化

cd your-project
opencode-test init

3.创建您的第一个测试

创建测试文件 test-cases/login.yml:

tags: [smoke, login]
steps:
  - "Navigate to {{BASE_URL}}"
  - "Fill username field with {{TEST_USERNAME}}"
  - "Fill password field with {{TEST_PASSWORD}}"
  - "Click login button"
  - "Verify dashboard is displayed"

4.设置环境变量

创建 .env.dev:

BASE_URL=https://example.com
TEST_USERNAME=testuser
TEST_PASSWORD=testpass123
GENERATE_REPORT=true
REPORT_STYLE=detailed

5.运行测试

/run-yaml-test file:login.yml env:dev

6.查看结果

/view-reports-index

命令

opencode-test init

在当前项目目录中初始化测试框架。

opencode-test init [options]

选项:

  • -f, --force -即使框架已经存在,也强制初始化
  • --verbose -在初始化过程中显示详细输出

例子:

# Basic initialization
opencode-test init

# Force reinitialize with detailed output
opencode-test init --force --verbose

opencode-test update

将框架更新到最新版本。

opencode-test update [options]

选项:

  • --backup -更新前创建备份
  • --dry-run -显示在不进行更改的情况下将更新的内容
  • --verbose -显示详细输出

例子:

# Update with backup
opencode-test update --backup

# Preview changes without applying
opencode-test update --dry-run

# Detailed update process
opencode-test update --verbose

opencode-test check

检查框架版本和状态。

opencode-test check [options]

选项:

  • --remote -检查远程更新(未来功能)
  • --fix -尝试自动修复完整性问题
  • --verbose -显示详细输出

例子:

# Basic status check
opencode-test check

# Check and fix issues
opencode-test check --fix

# Detailed status report
opencode-test check --verbose

框架功能

初始化后,您的项目将拥有一个完整的测试框架,其中包括:

  • 🌍 多环境支持:支持开发/测试/生产环境
  • 📚 可重用步骤库:模块化和可重复使用的测试组件
  • 🗣️ 自然语言:用自然语言描述编写测试
  • 🔧 环境变量:从.env文件自动加载配置
  • 📊 智能报告:嵌入数据的漂亮HTML测试报告
  • 会话保持:通过持续的浏览器会话更快地执行测试
  • 🚀 CLI管理:易于安装、更新和完整性检查

项目结构

运行后 opencode-test init,您的项目将包含:

.opencode/
├── commands/                     # OpenCode commands
│   ├── run-yaml-test.md         # Execute individual tests
│   ├── run-test-suite.md        # Execute test suites  
│   ├── validate-yaml-test.md    # Validate test syntax
│   ├── validate-test-suite.md   # Validate suite syntax
│   └── view-reports-index.md    # View test reports
└── scripts/                     # Framework automation scripts
    ├── yaml-test-processor.js   # YAML test processing engine
    ├── create-report-data.js    # Report data creation (Step 1)
    ├── gen-report.js           # HTML report generation (Step 2)
    ├── scan-reports.js         # Report indexing and organization
    ├── start-report-server.js  # Local HTTP server for reports
    └── suite-report-generator.js # Test suite report generator

版本管理

CLI自动管理框架版本:

  • 安装跟踪:记录安装框架的时间和方式
  • 版本兼容性:确保CLI和框架版本兼容
  • 自动更新:更新框架文件,同时保留自定义设置
  • 完整性检查:验证所有必需的文件是否存在且有效
  • 备份支持:更新前可选择创建备份

需求

  • Node.js: >= 16.0.0
  • 开源代码:与Playwright MCP集成
  • NPM:用于全球安装

实际例子

示例1:电子商务测试套件

测试套件 (test-suites/e-commerce.yml):

name: E-commerce Smoke Tests
description: Critical functionality tests for e-commerce site
tags: [smoke, e-commerce]
test-cases:
  - test-cases/login.yml
  - test-cases/product-search.yml
  - test-cases/add-to-cart.yml
  - test-cases/checkout.yml

单项试验 (test-cases/product-search.yml):

tags: [smoke, search]
steps:
  - include: login
  - "Click search field"
  - "Type 'laptop' in search field"
  - "Press Enter"
  - "Verify search results contain 'laptop'"
  - "Verify at least 5 products are displayed"

步骤库 (steps/login.yml):

description: Standard login flow
steps:
  - "Navigate to {{BASE_URL}}/login"
  - "Fill username field with {{TEST_USERNAME}}"
  - "Fill password field with {{TEST_PASSWORD}}"
  - "Click login button"
  - "Wait for dashboard to load"

运行套件:

/run-test-suite suite:e-commerce.yml env:test

示例2:基于标签的测试执行

# Run all smoke tests
/run-yaml-test tags:smoke env:dev

# Run tests that have both smoke AND login tags
/run-yaml-test tags:smoke,login env:dev

# Run tests that have smoke OR critical tags
/run-yaml-test tags:smoke|critical env:dev

# Run all tests in prod environment
/run-yaml-test env:prod

示例3:环境配置

发展 (.env.dev):

BASE_URL=http://localhost:3000
TEST_USERNAME=dev@example.com
TEST_PASSWORD=devpass123
GENERATE_REPORT=true
REPORT_STYLE=overview
REPORT_PATH=reports/dev

生产 (.env.prod):

BASE_URL=https://prod.example.com
TEST_USERNAME=prod@example.com
TEST_PASSWORD=secureprodpass
GENERATE_REPORT=true
REPORT_STYLE=detailed
REPORT_PATH=reports/prod

常见问题

Q: 如何更新我的测试框架?

opencode-test update --backup --verbose

这将创建一个备份,并在更新过程中显示详细的输出。

Q: 我的测试失败了,我该如何调试?

  1. 检查框架完整性: opencode-test check --verbose
  2. 验证测试语法: /validate-yaml-test file:your-test.yml
  3. 运行详细报告:设置 REPORT_STYLE=detailed 在.env文件中
  4. 检查生成的HTML报告: /view-reports-index

Q: 如何创建可重用的测试步骤?

在中创建YAML文件 steps/ 目录:

# steps/common-actions.yml
description: Common UI actions
steps:
  - "Wait for page to load"
  - "Take screenshot"
  - "Scroll to top of page"

然后在你的测试中包括:

# test-cases/my-test.yml
tags: [smoke]
steps:
  - include: common-actions
  - "Click submit button"

Q: 我可以并行运行测试吗?

目前,测试通过会话优化按顺序运行。计划在未来的版本中并行执行。

Q: 我如何应对不同的环境?

  1. 创建单独 .env 文件夹: .env.dev, .env.test, .env.prod
  2. 在测试中使用环境变量: {{BASE_URL}}
  3. 运行时指定环境: /run-yaml-test env:prod

Q: 如果我的框架文件损坏了怎么办?

# Check for issues
opencode-test check --fix

# Or force reinstall
opencode-test init --force

Q: 如何查看历史测试报告?

  1. /view-reports-index
  2. 在环境选项卡(dev/test/prod)之间导航
  3. 点击任何报告卡查看详细结果
  4. 报告按时间戳组织,便于访问

故障排除

找不到框架

# Error: Framework not found in current directory
opencode-test init

版本不匹配

# Check versions
opencode-test check --verbose

# Update framework
opencode-test update

权限问题

# On macOS/Linux, you might need sudo for global install
sudo npm install -g opencode-test

测试执行失败

  1. 验证测试语法: /validate-yaml-test file:your-test.yml
  2. 检查环境变量:确保所有 {{VARIABLES}} 已定义
  3. 验证步骤库:确保所有 include: 参考文献存在
  4. 检查剧作家MCP:确保OpenCode具有Playwright集成

开发和测试

该框架包括全面的测试和验证:

  • CLI测试:完成命令验证和集成测试
  • 与跨平台支持:在macOS和Linux上测试
  • 版本管理:自动兼容性检查
  • 错误处理:优雅的故障模式和恢复

贡献

我们欢迎捐款!在提交pull请求之前,请阅读我们的贡献指南。

CLI开发和架构

这个项目是 官方CLI工具 用于开放代码测试框架。它包含:

核心组件

  • CLI入口点: bin/opencode-test.js -基于Commander.js的CLI,有三个主要命令
  • 命令: lib/commands/ -init、update和check命令的实现
  • 公用事业: lib/utils/ -核心业务逻辑(文件管理、版本控制)
  • 模板: lib/templates/ -复制到用户项目的框架文件

开发脚本

  • npm test -运行Jest测试套件,代码覆盖率为84.95%
  • npm run lint -ESLint验证
  • npm run test:coverage -覆盖率分析,包括.opencode/scripts
  • npm run sync-templates -同步框架模板
  • npm run ci -完整的CI管道

测试

全面的测试覆盖范围包括:

  • 所有核心模块的单元测试
  • CLI命令的集成测试
  • 错误处理和边缘情况验证
  • CLI命令执行测试

演示和使用示例

对于 实际使用示例集成演示,请访问配套项目:

📖 开放代码测试演示 -完整的使用示例、测试用例和集成指南

支持

对于问题和疑问:

⭐ 明星历史

![Star History Chart](https://www.star-history.com/#terryso/opencode-test&Date)

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

______________________________________________________________________

由以下材料制成❤️ 由Anthropic团队为OpenCode社区开发。

目录标签

目录标签

测试自动化浏览器自动化JavaScriptClaude命令行工具本地部署YAML测试PlaywrightCLI工具HTML报告

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP