# 🧪 应用运行功能 - 快速测试指南

## 📍 访问路径

**AI作物模型** → **模型应用中心** → **应用生成** Tab

## ✅ 快速测试清单（10分钟）

### 1️⃣ 停止状态检查 ⏱️ 2分钟

#### 步骤：
1. 找到"精准施肥智能推荐"应用
2. 确认状态为"⏸ 已停止"
3. 查看操作按钮

**预期**：
- [ ] ❌ **不显示**蓝色"运行"按钮
- [ ] ✅ 显示"启动"按钮（PlayCircle图标）
- [ ] ✅ 启动按钮占据较大空间
- [ ] ✅ 显示"编辑"按钮

---

### 2️⃣ 运行中状态检查 ⏱️ 1分钟

#### 步骤：
1. 找到"智能灌溉策略生成"应用
2. 确认状态为"● 运行中"
3. 查看操作按钮

**预期**：
- [ ] ✅ 显示蓝色"运行"按钮
- [ ] ✅ 显示"停止"按钮（PauseCircle）
- [ ] ✅ 显示"编辑"按钮
- [ ] ✅ 三个按钮正常排列

---

### 3️⃣ 启动应用测试 ⏱️ 1分钟

#### 步骤：
1. 在"精准施肥智能推荐"（已停止）
2. 点击"启动"按钮
3. 观察变化

**预期**：
- [ ] 状态变为"● 运行中"
- [ ] "运行"按钮出现
- [ ] 显示提示：`应用"精准施肥智能推荐"已启动`

---

### 4️⃣ 停止应用测试 ⏱️ 1分钟

#### 步骤：
1. 在"精准施肥智能推荐"（刚启动的）
2. 点击"停止"按钮
3. 观察变化

**预期**：
- [ ] 状态变为"⏸ 已停止"
- [ ] "运行"按钮消失
- [ ] "停止"变为"启动"
- [ ] 显示提示：`应用"精准施肥智能推荐"已停止`

---

### 5️⃣ 打开运行对话框 ⏱️ 1分钟

#### 步骤：
1. 确保"智能灌溉策略生成"为运行中
2. 点击"运行"按钮

**预期**：
- [ ] 打开运行对话框
- [ ] 标题：`运行应用：智能灌溉策略生成`
- [ ] 显示应用信息卡片
- [ ] 显示蓝色提示：`请为每个输入字段选择数据源或物联设备`
- [ ] 显示5个输入参数卡片

---

### 6️⃣ 输入参数卡片结构 ⏱️ 1分钟

#### 查看第一个参数"土壤湿度"：

**预期**：
- [ ] 独立Card显示
- [ ] 标题"土壤湿度"+"必填"标签
- [ ] 左侧：`多源数据` 下拉框
  - [ ] 小标签：`多源数据`（灰色小字）
  - [ ] 占位符：`选择数据源`
- [ ] 右侧：`物联设备数据` 下拉框
  - [ ] 小标签：`物联设备数据`（灰色小字）
  - [ ] 占位符：`选择物联设备`

---

### 7️⃣ 多源数据选项 ⏱️ 1分钟

#### 步骤：
1. 点击"土壤湿度"的"多源数据"下拉框
2. 查看选项

**预期** - 显示8个选项：
- [ ] 传感器实时数据
- [ ] 数据库查询
- [ ] 手动输入
- [ ] 第三方API
- [ ] 历史数据
- [ ] 配置文件
- [ ] IoT设备
- [ ] 气象站

#### 选择"传感器实时数据"：
- [ ] 下拉框显示选中值
- [ ] 可以继续配置其他字段

---

### 8️⃣ 物联设备选项 ⏱️ 1分钟

#### 步骤：
1. 点击"温度"的"物联设备数据"下拉框
2. 查看选项

**预期** - 显示8个设备：
- [ ] 土壤传感器01 (SN:SS-001)
- [ ] 温湿度传感器02 (SN:TH-002)
- [ ] 光照传感器03 (SN:LS-003)
- [ ] pH传感器04 (SN:PH-004)
- [ ] 水肥一体机05 (SN:WF-005)
- [ ] 气象站06 (SN:WS-006)
- [ ] 作物图像采集器07 (SN:IC-007)
- [ ] 水泵控制器08 (SN:PC-008)

#### 选择"温湿度传感器02"：
- [ ] 下拉框显示完整设备名
- [ ] 包含序列号信息

---

### 9️⃣ 完整配置并运行 ⏱️ 2分钟

#### 步骤：
在"智能灌溉策略生成"运行对话框：

1. **土壤湿度** → 选择"传感器实时数据"（多源）
2. **温度** → 选择"温湿度传感器02"（设备）
3. **降水预报** → 选择"第三方API"（多源）
4. **作物类型** → 选择"配置文件"（多源）
5. **生长阶段** → 选择"数据库查询"（多源）
6. 点击"⚡ 执行运行"

**预期**：
- [ ] 按钮变为"运行中..."
- [ ] 图标旋转动画
- [ ] 所有下拉框禁用（灰色）
- [ ] 约2秒后显示结果
- [ ] 显示折线图
- [ ] 显示成功提示卡片
- [ ] 显示提示：`应用运行成功！`

---

### 🔟 未填写验证 ⏱️ 30秒

#### 步骤：
1. 重新打开运行对话框（关闭再打开）
2. 只配置"土壤湿度"
3. 其他4个字段留空
4. 点击"执行运行"

**预期**：
- [ ] 显示红色错误提示
- [ ] 提示内容列出未填字段
- [ ] 例如：`请填写完整的输入参数：温度、降水预报、作物类型、生长阶段`
- [ ] 不执行运行
- [ ] 对话框保持打开

---

## 📊 测试结果记录

**测试日期**：____________________  
**测试人员**：____________________

| 测试项 | 通过/失败 | 备注 |
|-------|----------|------|
| 1. 停止状态无运行按钮 | □ 通过 □ 失败 | |
| 2. 运行中状态有运行按钮 | □ 通过 □ 失败 | |
| 3. 启动应用功能 | □ 通过 □ 失败 | |
| 4. 停止应用功能 | □ 通过 □ 失败 | |
| 5. 打开运行对话框 | □ 通过 □ 失败 | |
| 6. 输入参数卡片结构 | □ 通过 □ 失败 | |
| 7. 多源数据选项完整 | □ 通过 □ 失败 | |
| 8. 物联设备选项完整 | □ 通过 □ 失败 | |
| 9. 配置运行成功 | □ 通过 □ 失败 | |
| 10. 未填写验证 | □ 通过 □ 失败 | |

---

## 🎯 核心验证点

### ✅ 必须通过的测试

1. [ ] **停止状态** - 不显示运行按钮
2. [ ] **运行中状态** - 显示运行按钮
3. [ ] **双选择器** - 每个字段都有多源数据和物联设备两个下拉框
4. [ ] **8个数据源** - 多源数据下拉框有8个选项
5. [ ] **8个设备** - 物联设备下拉框有8个设备（含SN）
6. [ ] **选择保存** - 选择后值正确显示
7. [ ] **运行成功** - 配置完整后可正常运行
8. [ ] **验证机制** - 未填写时有错误提示

---

## 🐛 常见问题

### Q1: 停止状态仍显示运行按钮？
**A**: 强制刷新浏览器（Ctrl+Shift+R）

### Q2: 下拉框没有选项？
**A**: 检查dataSourceOptions和iotDeviceOptions数组

### Q3: 选择后没有保存？
**A**: 查看控制台错误，检查状态更新

### Q4: 运行中下拉框可以修改？
**A**: 应该是禁用状态（disabled），检查isRunning状态

### Q5: 验证提示没有显示？
**A**: 检查handleExecuteRun函数中的验证逻辑

---

## 💡 测试技巧

### 快速切换应用状态

```typescript
// 在浏览器控制台执行：
// 启动应用
handleStartApp(applications[2]) 

// 停止应用
handleStopApp(applications[0])
```

### 查看inputData状态

打开浏览器开发者工具 → React DevTools → 找到AIModelApplication组件 → 查看hooks中的inputData

### 截图对比

建议截图保存：
- 停止状态卡片
- 运行中状态卡片
- 运行对话框完整界面
- 下拉框展开效果

---

## 🎉 测试完成标准

当以下所有项都勾选后，测试即完成：

- [ ] 停止状态按钮正确
- [ ] 运行中状态按钮正确
- [ ] 运行对话框正常打开
- [ ] 输入参数卡片正确显示
- [ ] 多源数据下拉框有8个选项
- [ ] 物联设备下拉框有8个设备
- [ ] 选择功能正常
- [ ] 完整运行成功
- [ ] 验证机制生效

---

## 📝 视觉检查表

### 停止状态应用卡片
```
┌──────────────────────────────────┐
│ 精准施肥智能推荐                  │
│ ⏸ 已停止                         │
│                                  │
│ ❌ 无运行按钮                    │
│ [▶ 启动应用]  [✏️ 编辑]          │
└──────────────────────────────────┘
```
- [ ] 不显示"运行"按钮 ✅
- [ ] 启动按钮较宽 ✅

### 运行中状态应用卡片
```
┌──────────────────────────────────┐
│ 智能灌溉策略生成                  │
│ ● 运行中                         │
│                                  │
│ [▶ 运行]  [⏸ 停止]  [✏️ 编辑]   │
└──────────────────────────────────┘
```
- [ ] 显示"运行"按钮（蓝色） ✅
- [ ] 三个按钮并列 ✅

### 输入参数卡片
```
┌────────────────────────────────────┐
│ 土壤湿度 [必填]                     │
├──────────────────┬─────────────────┤
│ 多源数据          │ 物联设备数据     │
│ [选择数据源 ▼]    │ [选择物联设备▼] │
└──────────────────┴─────────────────┘
```
- [ ] 两列布局 ✅
- [ ] 小标签显示 ✅
- [ ] 占位符正确 ✅

---

**测试预计时间**: 10分钟  
**最后更新**: 2024-10-23
