246 lines
5.2 KiB
Markdown
246 lines
5.2 KiB
Markdown
# 节点测试"运行测试"按钮无法点击问题排查
|
||
|
||
## 🔍 问题原因
|
||
|
||
"运行测试"按钮的禁用条件是:
|
||
```vue
|
||
:disabled="!selectedNode || testInputError"
|
||
```
|
||
|
||
按钮无法点击的可能原因:
|
||
1. **没有选中节点** (`!selectedNode`)
|
||
2. **测试输入JSON格式错误** (`testInputError`)
|
||
|
||
---
|
||
|
||
## ✅ 解决方案
|
||
|
||
### 方案1: 检查节点是否选中
|
||
|
||
1. **确认节点已选中**
|
||
- 节点应该显示为选中状态(有蓝色边框或高亮)
|
||
- 右侧配置面板应该显示该节点的配置信息
|
||
|
||
2. **如果节点未选中**
|
||
- 点击节点使其选中
|
||
- 或者从节点列表中选择节点
|
||
|
||
### 方案2: 检查JSON格式
|
||
|
||
1. **验证JSON格式**
|
||
- 点击"格式化"按钮,如果JSON格式正确,会格式化成功
|
||
- 如果JSON格式错误,会显示错误信息
|
||
|
||
2. **常见JSON格式错误**
|
||
- 缺少引号:`{input: "获取最近日志"}` ❌
|
||
- 多余的逗号:`{"input": "获取最近日志",}` ❌
|
||
- 单引号:`{'input': '获取最近日志'}` ❌
|
||
- 正确的格式:`{"input": "获取最近日志"}` ✅
|
||
|
||
3. **修复JSON格式**
|
||
- 点击"格式化"按钮自动修复
|
||
- 或手动修正JSON格式
|
||
|
||
### 方案3: 使用快速模板
|
||
|
||
1. **选择快速模板**
|
||
- 在"快速模板"下拉菜单中选择合适的模板
|
||
- 对于LLM节点,可以选择"LLM输入"模板
|
||
|
||
2. **模板会自动填充正确的格式**
|
||
|
||
---
|
||
|
||
## 📝 正确的测试输入格式
|
||
|
||
### 对于"执行ADB命令"节点(LLM工具调用节点)
|
||
|
||
**推荐输入格式**:
|
||
|
||
```json
|
||
{
|
||
"input": "获取最近日志"
|
||
}
|
||
```
|
||
|
||
或者更详细的格式:
|
||
|
||
```json
|
||
{
|
||
"input": "请使用adb_log工具获取最近的100行日志",
|
||
"context": "用户想要查看Android设备的最近日志"
|
||
}
|
||
```
|
||
|
||
### 如果节点有上游节点
|
||
|
||
如果"执行ADB命令"节点有上游节点(如JSON解析节点),输入应该模拟上游节点的输出:
|
||
|
||
```json
|
||
{
|
||
"command": "logcat",
|
||
"max_lines": 100,
|
||
"level": null,
|
||
"filter_tag": null
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 🔧 操作步骤
|
||
|
||
### 步骤1: 确认节点选中
|
||
|
||
1. 点击"执行ADB命令"节点
|
||
2. 确认节点显示为选中状态
|
||
3. 确认右侧配置面板显示该节点的信息
|
||
|
||
### 步骤2: 检查测试输入
|
||
|
||
1. 点击"测试"标签页
|
||
2. 检查测试输入框中的JSON格式
|
||
3. 如果有错误提示,查看错误信息
|
||
|
||
### 步骤3: 修复JSON格式
|
||
|
||
**方法1: 使用格式化按钮**
|
||
- 点击"格式化"按钮
|
||
- 如果格式正确,会自动格式化
|
||
- 如果格式错误,会显示错误信息
|
||
|
||
**方法2: 使用快速模板**
|
||
- 在"快速模板"下拉菜单中选择"LLM输入"
|
||
- 会自动填充正确的格式
|
||
- 然后修改内容为你的测试数据
|
||
|
||
**方法3: 手动修正**
|
||
- 确保使用双引号
|
||
- 确保没有多余的逗号
|
||
- 确保JSON结构正确
|
||
|
||
### 步骤4: 验证输入
|
||
|
||
1. 检查输入框下方是否有错误提示
|
||
2. 如果没有错误提示,按钮应该可以点击
|
||
3. 点击"运行测试"按钮
|
||
|
||
---
|
||
|
||
## 💡 快速检查清单
|
||
|
||
- [ ] 节点已选中(有蓝色边框或高亮)
|
||
- [ ] 测试输入框中有内容
|
||
- [ ] JSON格式正确(使用双引号,没有语法错误)
|
||
- [ ] 输入框下方没有错误提示
|
||
- [ ] "运行测试"按钮不是灰色(禁用状态)
|
||
|
||
---
|
||
|
||
## 🎯 示例:正确的测试输入
|
||
|
||
### 示例1: 简单输入
|
||
|
||
```json
|
||
{
|
||
"input": "获取最近日志"
|
||
}
|
||
```
|
||
|
||
### 示例2: 详细输入
|
||
|
||
```json
|
||
{
|
||
"input": "请使用adb_log工具,执行logcat命令获取最近的100行日志",
|
||
"query": "获取最近日志"
|
||
}
|
||
```
|
||
|
||
### 示例3: 模拟上游节点输出
|
||
|
||
如果"执行ADB命令"节点接收来自JSON解析节点的输出:
|
||
|
||
```json
|
||
{
|
||
"command": "logcat",
|
||
"max_lines": 100,
|
||
"level": null,
|
||
"filter_tag": null
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## ⚠️ 常见问题
|
||
|
||
### Q1: 按钮一直是灰色的
|
||
|
||
**A**: 检查:
|
||
1. 节点是否已选中
|
||
2. JSON格式是否正确
|
||
3. 查看输入框下方的错误提示
|
||
|
||
### Q2: 点击"格式化"后显示错误
|
||
|
||
**A**: JSON格式有错误,需要手动修正:
|
||
- 检查是否使用了单引号(应该用双引号)
|
||
- 检查是否有多余的逗号
|
||
- 检查括号是否匹配
|
||
|
||
### Q3: 使用模板后还是无法点击
|
||
|
||
**A**:
|
||
1. 检查节点是否已选中
|
||
2. 尝试清空后重新输入
|
||
3. 刷新页面后重试
|
||
|
||
---
|
||
|
||
## 🔍 调试技巧
|
||
|
||
### 1. 查看浏览器控制台
|
||
|
||
打开浏览器开发者工具(F12),查看Console标签:
|
||
- 如果有JavaScript错误,会显示在控制台
|
||
- 查看是否有相关的错误信息
|
||
|
||
### 2. 检查网络请求
|
||
|
||
在Network标签中:
|
||
- 查看是否有失败的API请求
|
||
- 检查节点测试API的请求和响应
|
||
|
||
### 3. 检查Vue组件状态
|
||
|
||
在Vue DevTools中:
|
||
- 查看`selectedNode`的值
|
||
- 查看`testInputError`的值
|
||
- 查看`nodeTestInput`的值
|
||
|
||
---
|
||
|
||
## 📞 如果问题仍然存在
|
||
|
||
如果按照以上步骤操作后,按钮仍然无法点击:
|
||
|
||
1. **刷新页面**
|
||
- 按F5刷新页面
|
||
- 重新选择节点和配置测试输入
|
||
|
||
2. **检查浏览器兼容性**
|
||
- 使用Chrome或Edge浏览器
|
||
- 确保浏览器版本是最新的
|
||
|
||
3. **清除浏览器缓存**
|
||
- 清除浏览器缓存和Cookie
|
||
- 重新登录系统
|
||
|
||
4. **查看后端日志**
|
||
```bash
|
||
docker-compose -f docker-compose.dev.yml logs backend | tail -50
|
||
```
|
||
|
||
---
|
||
|
||
**最后更新**: 2026-01-23
|
||
**状态**: 问题排查指南
|