Files
aiagent/前端测试邮件和消息队列节点.md

293 lines
7.0 KiB
Markdown
Raw Normal View History

2026-01-19 00:09:36 +08:00
# 前端测试邮件和消息队列节点
## 🎯 快速测试指南
由于后端服务已经在运行,您可以直接在前端界面测试新实现的邮件节点和消息队列节点。
## 📧 测试邮件节点
### 步骤1: 创建工作流
1. 登录系统: http://101.43.95.130:8038
2. 点击"工作流管理"
3. 点击"创建新工作流"
### 步骤2: 添加节点
1. **添加开始节点**
- 从左侧工具箱拖拽"开始"节点到画布
2. **添加邮件节点**
- 从左侧工具箱拖拽"邮件"节点到画布
- 连接开始节点到邮件节点
3. **添加结束节点**
- 从左侧工具箱拖拽"结束"节点到画布
- 连接邮件节点到结束节点
### 步骤3: 配置邮件节点
点击邮件节点,在右侧配置面板中填写:
#### 基础配置
- **SMTP服务器**: `smtp.gmail.com` (或使用测试服务如 `smtp.mailtrap.io`)
- **SMTP端口**: `587`
- **SMTP用户名**: 您的邮箱地址
- **SMTP密码**: 应用专用密码Gmail需要
- **使用TLS**: ✅ 开启
#### 邮件内容
- **发件人邮箱**: `your-email@gmail.com`
- **收件人邮箱**: `recipient@example.com`
- **邮件主题**: `测试邮件 - {test_key}`
- **邮件正文类型**: `纯文本``HTML`
- **邮件正文**:
```
这是一封测试邮件。
测试数据: {test_data}
时间: {timestamp}
```
#### 变量替换示例
邮件节点支持变量替换,使用 `{key}``${key}` 格式:
- `{test_key}` - 从输入数据中获取 `test_key` 的值
- `{test_data}` - 从输入数据中获取 `test_data` 的值
### 步骤4: 保存并运行
1. 点击工具栏的"保存"按钮
2. 点击"运行"按钮
3. 在运行对话框中输入测试数据:
```json
{
"test_key": "Hello World",
"test_data": "这是测试数据",
"timestamp": "2024-01-01 12:00:00"
}
```
4. 点击"开始运行"
5. 查看执行结果和执行日志
### 步骤5: 验证结果
- ✅ 检查执行状态是否为"成功"
- ✅ 查看执行日志,确认邮件发送成功
- ✅ 检查收件箱,确认收到邮件
- ✅ 验证邮件主题和正文中的变量是否正确替换
## 🐰 测试RabbitMQ消息队列节点
### 前置条件
确保RabbitMQ服务正在运行
```bash
# 使用Docker启动RabbitMQ
docker run -d \
--name rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin123 \
rabbitmq:3-management
```
访问管理界面: http://localhost:15672
### 步骤1-2: 创建工作流并添加节点
1. 添加开始节点
2. 添加"消息队列"节点
3. 添加结束节点
4. 连接节点
### 步骤3: 配置消息队列节点
点击消息队列节点,在右侧配置面板中:
1. **选择队列类型**: `RabbitMQ`
2. **RabbitMQ配置**:
- **主机地址**: `localhost` (或服务器IP)
- **端口**: `5672`
- **用户名**: `admin` (或您的RabbitMQ用户名)
- **密码**: `admin123` (或您的RabbitMQ密码)
- **队列名称**: `test_queue`
- **Routing Key**: `test.routing.key` (可选)
- **Exchange**: (可选如果使用Exchange)
3. **消息内容**:
```json
{
"test_key": "{test_key}",
"test_data": "{test_data}",
"timestamp": "{timestamp}"
}
```
### 步骤4: 保存并运行
1. 保存工作流
2. 运行工作流,输入测试数据:
```json
{
"test_key": "Hello RabbitMQ",
"test_data": "这是测试数据",
"timestamp": "2024-01-01 12:00:00"
}
```
3. 查看执行结果
### 步骤5: 验证结果
1. 访问RabbitMQ管理界面: http://localhost:15672
2. 登录后,进入"Queues"标签
3. 找到 `test_queue` 队列
4. 点击队列名称,查看消息
5. 确认消息内容正确,变量已替换
## 📨 测试Kafka消息队列节点
### 前置条件
确保Kafka服务正在运行需要Zookeeper
```bash
# 使用Docker Compose启动Kafka
# 创建 docker-compose-kafka.yml 文件
```
### 步骤1-2: 创建工作流并添加节点
1. 添加开始节点
2. 添加"消息队列"节点
3. 添加结束节点
4. 连接节点
### 步骤3: 配置Kafka节点
点击消息队列节点,在右侧配置面板中:
1. **选择队列类型**: `Kafka`
2. **Kafka配置**:
- **Bootstrap Servers**: `localhost:9092` (多个服务器用逗号分隔)
- **Topic**: `test_topic`
3. **消息内容**:
```json
{
"test_key": "{test_key}",
"test_data": "{test_data}",
"timestamp": "{timestamp}"
}
```
### 步骤4: 保存并运行
1. 保存工作流
2. 运行工作流,输入测试数据
3. 查看执行结果
### 步骤5: 验证结果
使用Kafka消费者工具查看消息
```bash
# 使用kafka-console-consumer
kafka-console-consumer --bootstrap-server localhost:9092 --topic test_topic --from-beginning
```
## 🔍 测试检查清单
### 邮件节点
- [ ] 节点可以正常添加到画布
- [ ] 配置面板所有字段正常显示
- [ ] 保存配置成功
- [ ] 工作流执行成功
- [ ] 邮件成功发送
- [ ] 变量替换正确(主题和正文)
- [ ] HTML格式邮件正确渲染如果使用HTML
- [ ] 执行日志显示详细信息
### 消息队列节点
- [ ] 节点可以正常添加到画布
- [ ] 可以切换队列类型RabbitMQ/Kafka
- [ ] 配置面板根据队列类型显示不同字段
- [ ] 保存配置成功
- [ ] 工作流执行成功
- [ ] 消息成功发送到队列/Topic
- [ ] 变量替换正确
- [ ] 执行日志显示详细信息
## 🐛 常见问题排查
### 邮件节点问题
1. **SMTP连接失败**
- 检查SMTP服务器地址和端口
- 确认网络连接正常
- 检查防火墙设置
2. **认证失败**
- Gmail需要使用应用专用密码不是普通密码
- 确认账号已启用"允许不够安全的应用"
- 检查用户名和密码是否正确
3. **变量未替换**
- 确认输入数据中包含对应的key
- 检查变量格式:`{key}``${key}`
- 查看执行日志确认输入数据
### 消息队列节点问题
1. **RabbitMQ连接失败**
- 确认RabbitMQ服务正在运行
- 检查主机地址和端口
- 确认用户名和密码正确
- 检查网络连接
2. **Kafka连接失败**
- 确认Kafka服务正在运行
- 检查Bootstrap Servers配置
- 确认Topic已创建
- 检查网络连接
3. **消息未发送**
- 查看执行日志中的错误信息
- 检查节点配置是否正确
- 确认队列/Topic存在
## 📝 测试数据示例
### 邮件节点测试数据
```json
{
"test_key": "Hello World",
"test_data": "这是测试数据",
"timestamp": "2024-01-01 12:00:00",
"user_name": "测试用户",
"order_id": "12345"
}
```
### 消息队列节点测试数据
```json
{
"test_key": "Hello Queue",
"test_data": "这是测试数据",
"timestamp": "2024-01-01 12:00:00",
"event_type": "user_action",
"user_id": "12345"
}
```
## 🎯 下一步
测试通过后,您可以:
1. 在实际工作流中使用这些节点
2. 继续开发其他功能
3. 优化节点功能和用户体验
---
**提示**: 如果遇到问题,请查看执行详情页面的日志信息,那里会显示详细的错误信息。