# 测试指南

## 🚀 快速测试

### 1. 访问前端

打开浏览器访问：http://localhost:8038

### 2. 注册/登录

1. 点击"注册"标签
2. 填写用户名、邮箱、密码
3. 点击"注册"按钮
4. 注册成功后自动切换到登录标签
5. 使用刚才注册的账号登录

### 3. 创建工作流

1. 登录后，点击"创建工作流"按钮
2. 进入工作流设计器
3. 从左侧工具箱拖拽节点到画布
4. 连接节点（点击节点的连接点并拖拽到目标节点）
5. 点击节点进行配置
6. 点击"保存"按钮保存工作流

### 4. 执行工作流

1. 在工作流设计器中点击"运行"按钮
2. 或通过API执行：
   ```bash
   # 先获取token（登录后）
   curl -X POST http://localhost:8037/api/v1/auth/login \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "username=your_username&password=your_password"
   
   # 执行工作流（替换TOKEN和WORKFLOW_ID）
   curl -X POST http://localhost:8037/api/v1/workflows/{WORKFLOW_ID}/execute \
     -H "Authorization: Bearer {TOKEN}" \
     -H "Content-Type: application/json" \
     -d '{"input": "测试数据"}'
   ```

### 5. 查看执行结果

1. 在工作流列表页面查看执行历史
2. 或通过API查看：
   ```bash
   curl http://localhost:8037/api/v1/executions \
     -H "Authorization: Bearer {TOKEN}"
   ```

## 📋 API测试示例

### 用户注册

```bash
curl -X POST http://localhost:8037/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "username": "testuser",
    "email": "test@example.com",
    "password": "test123456"
  }'
```

### 用户登录

```bash
curl -X POST http://localhost:8037/api/v1/auth/login \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "username=testuser&password=test123456"
```

### 创建工作流

```bash
curl -X POST http://localhost:8037/api/v1/workflows \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "测试工作流",
    "description": "这是一个测试工作流",
    "nodes": [
      {
        "id": "node1",
        "type": "start",
        "position": {"x": 100, "y": 100},
        "data": {"label": "开始"}
      },
      {
        "id": "node2",
        "type": "llm",
        "position": {"x": 300, "y": 100},
        "data": {"label": "LLM处理", "prompt": "处理输入: {input}"}
      },
      {
        "id": "node3",
        "type": "end",
        "position": {"x": 500, "y": 100},
        "data": {"label": "结束"}
      }
    ],
    "edges": [
      {"id": "e1", "source": "node1", "target": "node2"},
      {"id": "e2", "source": "node2", "target": "node3"}
    ]
  }'
```

### 执行工作流

```bash
curl -X POST http://localhost:8037/api/v1/workflows/{WORKFLOW_ID}/execute \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "这是测试输入"
  }'
```

## 🔍 检查服务状态

### 检查所有服务

```bash
docker-compose -f docker-compose.dev.yml ps
```

### 查看日志

```bash
# 查看所有服务日志
docker-compose -f docker-compose.dev.yml logs -f

# 查看特定服务日志
docker-compose -f docker-compose.dev.yml logs -f backend
docker-compose -f docker-compose.dev.yml logs -f frontend
docker-compose -f docker-compose.dev.yml logs -f celery
```

### 健康检查

```bash
# 后端健康检查
curl http://localhost:8037/health

# 应该返回: {"status":"healthy"}
```

## 🐛 常见问题

### 1. 前端无法访问

- 检查前端服务是否运行：`docker-compose ps`
- 检查端口8038是否被占用
- 查看前端日志：`docker-compose logs frontend`

### 2. API请求失败

- 检查后端服务是否运行
- 检查JWT Token是否有效
- 查看后端日志：`docker-compose logs backend`

### 3. 工作流执行失败

- 检查Celery Worker是否运行：`docker-compose logs celery`
- 检查Redis连接是否正常
- 查看执行记录的error_message字段

### 4. 数据库连接失败

- 检查数据库连接信息是否正确
- 确认服务器能访问腾讯云MySQL
- 检查网络连接

## 📝 下一步

完成基础功能测试后，可以继续开发：
1. OpenAI模型真实集成
2. WebSocket实时推送
3. 更多节点类型
4. 执行结果可视化
