内容
# Detox MCP
Detox 是一款用于集成移动端测试框架的 MCP(模型上下文协议)服务器。
## 功能特点
- **测试执行**:构建和运行 Detox 端到端测试,支持全部选项
- **配置管理**:读取、验证和生成 Detox 配置
- **代码生成**:生成测试代码、匹配器、操作和期望
- **设备管理**:列出 iOS 模拟器和 Android 模拟器
- **资源**:访问配置、设备、测试和 API 参考
- **提示**:用于常见工作流的斜杠命令
## 安装
```bash
npm install -g detox-mcp
```
或在项目中本地安装:
```bash
npm install detox-mcp
```
## 与 Claude Code 结合使用
### 添加到 Claude Code
```bash
# 全局添加
claude mcp add detox-mcp
# 或使用 npx
claude mcp add --transport stdio detox-mcp -- npx detox-mcp
```
### 项目配置
在项目根目录下创建 `.mcp.json`:
```json
{
"mcpServers": {
"detox": {
"command": "npx",
"args": ["detox-mcp"],
"env": {
"DETOX_PROJECT_PATH": "/path/to/your/react-native/project"
}
}
}
}
```
## 可用工具
### 测试执行
| 工具 | 描述 |
|------|-------------|
| `detox_build` | 为 Detox 测试构建应用 |
| `detox_test` | 运行端到端测试,支持全部选项 |
| `detox_init` | 在项目中初始化 Detox |
### 配置
| 工具 | 描述 |
|------|-------------|
| `detox_read_config` | 读取并解析 `.detoxrc.js` |
| `detox_list_configurations` | 列出可用配置 |
| `detox_validate_config` | 验证配置 |
| `detox_create_config` | 生成新配置 |
### 代码生成
| 工具 | 描述 |
|------|-------------|
| `detox_generate_test` | 生成完整的测试文件 |
| `detox_generate_matcher` | 生成元素匹配器代码 |
| `detox_generate_action` | 生成操作代码 |
| `detox_generate_expectation` | 生成期望代码 |
### 设备
| 工具 | 描述 |
|------|-------------|
| `detox_list_devices` | 列出 iOS 模拟器和 Android 模拟器 |
## 资源
通过资源 URI 访问上下文数据:
| URI | 描述 |
|-----|-------------|
| `detox://config` | 当前 Detox 配置 |
| `detox://devices` | 可用的模拟器/模拟器 |
| `detox://tests` | 测试文件列表 |
| `detox://api/matchers` | 匹配器 API 参考 |
| `detox://api/actions` | 操作 API 参考 |
| `detox://api/expectations` | 期望 API 参考 |
| `detox://api/device` | 设备 API 参考 |
## 提示(斜杠命令)
在 Claude Code 中使用这些提示进行常见工作流:
| 提示 | 描述 |
|--------|-------------|
| `/detox-test` | 运行测试,智能默认 |
| `/detox-generate` | 从描述中生成测试 |
| `/detox-setup` | 在项目中初始化 Detox |
| `/detox-debug` | 调试失败的测试 |
## 示例
### 运行测试
```
询问 Claude: "在 iOS 模拟器上运行我的 Detox 测试"
```
Claude 将使用 `detox_build` 和 `detox_test` 工具执行测试。
### 生成测试代码
```
询问 Claude: "为登录流程生成 Detox 测试"
```
Claude 将使用 `detox_generate_test` 生成测试代码。
### 检查配置
```
询问 Claude: "有哪些 Detox 配置可用?"
```
Claude 将使用 `detox_list_configurations` 显示可用配置。
## 要求
- Node.js 18+
- 在 React Native 项目中安装 Detox
- 对于 iOS:Xcode 和 applesimutils
- 对于 Android:Android SDK 和模拟器
## 环境变量
| 变量 | 描述 | 默认值 |
|----------|-------------|---------|
| `DETOX_PROJECT_PATH` | React Native 项目路径 | 当前目录 |
## 开发
```bash
# 克隆仓库
git clone https://github.com/your-username/detox-mcp
# 安装依赖
npm install
# 构建
npm run build
# 在开发环境中运行
npm run dev
```
## 许可证
MIT