6.2 KiB
6.2 KiB
AgileConfig 配置管理功能测试说明
测试环境准备
1. 配置检查
确认 appsettings.json 中的 AgileConfig 配置正确:
{
"AgileConfig": {
"appId": "CloudGaming",
"secret": "95BB717C61D1ECB0E9FB82C932CC77FF",
"nodes": "http://124.220.55.158:94",
"url": "http://124.220.55.158:94",
"env": "PROD",
"UserName": "admin",
"Password": "dbt@com@1234"
}
}
2. 权限配置
确保用户角色拥有以下权限:
system:agileconfig:query- 查询配置权限system:agileconfig:edit- 编辑配置权限system:agileconfig:remove- 删除配置权限
测试步骤
1. 启动项目
后端
cd ZR.Admin.WebApi
dotnet run
前端
cd ZR.Vue
npm run dev
2. 访问配置管理页面
- 登录后台管理系统
- 导航到:系统管理 -> AgileConfig配置管理
- 页面路径:
/system/agileConfig
3. 测试连接
点击页面右上角的"测试连接"按钮,验证与 AgileConfig 服务器的连接。
预期结果:提示"连接成功"
4. 读取配置
页面加载时会自动从 AgileConfig 读取配置。
预期结果:
- 页面显示所有配置分组
- 各配置项显示当前值
- 如果 AgileConfig 中没有配置,显示默认值
5. 修改配置
测试场景 1: 修改简单配置项
- 展开"应用配置 (AppConfig)"
- 修改"送花间隔时间"为
7200 - 点击"保存配置"
- 等待保存成功提示
预期结果:
- 显示"配置保存成功,已自动发布"
- 后端日志显示调用 AgileConfig API
- AgileConfig 配置中心自动发布配置
测试场景 2: 修改上传服务类型
- 修改"上传服务类型"从
cos改为server - 保存配置
预期结果:
- 配置保存成功
- AgileConfig 中的
AppConfig:uploadServiceType更新为server
测试场景 3: 修改嵌套配置
- 展开"应用配置 (AppConfig)"
- 修改"图片压缩质量"为
90 - 修改"COS域名"
- 保存配置
预期结果:
- 配置保存成功
- AgileConfig 中的
AppConfig:upload_config:imagequality更新为90 - 其他嵌套配置项也正确更新
测试场景 4: 修改图片上传配置
- 点击"应用图标"上传按钮
- 选择图片上传
- 保存配置
预期结果:
- 图片上传成功
- 配置中保存图片URL
- AgileConfig 中的
AppConfig:AppIcon更新为图片URL
测试场景 5: 修改多个配置分组
- 修改 AppConfig 中的配置
- 展开"JWT配置 (JwtTokenConfig)"
- 修改"访问令牌过期时间"
- 展开"Redis配置 (Redis)"
- 修改"实例名称"
- 保存配置
预期结果:
- 所有修改的配置项都保存成功
- 未修改的配置项不会被更新(增量更新)
6. 重置配置
- 修改任意配置项
- 点击"重置"按钮
- 确认重置
预期结果:
- 配置恢复到页面加载时的状态
- 提示"已重置"
7. 验证增量更新
测试方法:
- 只修改一个配置项(如:FlowerSendInterval)
- 打开浏览器开发者工具 -> Network 标签
- 保存配置
- 查看请求数据
预期结果:
- 请求中只包含修改的配置项和所属分组
- 未修改的配置项不会被发送
8. 验证配置发布
- 修改并保存配置
- 登录 AgileConfig 管理后台(http://124.220.55.158:94)
- 查看
CloudGaming应用的配置历史
预期结果:
- 配置已自动发布
- 配置版本号递增
- 配置项值与修改后一致
API 测试
可以使用 Postman 或其他工具直接测试后端 API:
1. 获取配置
GET /system/agileconfig/configs
Headers:
Authorization: Bearer {token}
2. 保存配置
POST /system/agileconfig/save
Headers:
Authorization: Bearer {token}
Content-Type: application/json
Body:
{
"configData": {
"AppConfig": {
"FlowerSendInterval": 7200,
"uploadServiceType": "cos",
...
},
...
}
}
3. 测试连接
GET /system/agileconfig/test
Headers:
Authorization: Bearer {token}
常见问题排查
1. 连接失败
- 检查 AgileConfig 服务器是否可访问
- 验证用户名密码是否正确
- 检查网络防火墙设置
2. 保存失败
- 检查用户权限
- 查看后端日志错误信息
- 验证 AgileConfig API 响应
3. 配置未更新
- 确认配置已发布
- 清除业务项目缓存
- 重启业务项目
4. 图片上传失败
- 检查上传服务配置(COS或本地)
- 验证图片大小和格式
- 检查上传路径权限
数据验证
在 AgileConfig 中验证配置
- 访问 AgileConfig 管理后台
- 登录(用户名: admin, 密码: dbt@com@1234)
- 进入应用
CloudGaming - 环境选择
PROD - 查看配置项列表
验证点:
- 配置项 Key 使用冒号分隔(如:
AppConfig:FlowerSendInterval) - 配置项 Value 与页面输入一致
- 配置状态为"已发布"
在业务项目中验证
业务项目应该能够通过 AgileConfig 客户端读取到最新配置。
测试完成标准
- ✅ 连接测试通过
- ✅ 配置读取正常
- ✅ 所有配置项类型都能正确保存(文本、数字、下拉、上传等)
- ✅ 增量更新正常(只更新修改的配置项)
- ✅ 配置自动发布成功
- ✅ 重置功能正常
- ✅ 页面无报错
- ✅ AgileConfig 中配置正确
性能测试
批量修改测试
- 同时修改所有分组的配置项
- 保存配置
- 记录保存时间
预期结果:
- 保存时间 < 5秒(取决于网络和配置项数量)
- 无超时错误
安全测试
权限测试
- 使用无权限的用户访问配置页面
预期结果:
- 无法访问页面或操作被拒绝
敏感信息保护
- 密码类型的字段应该显示为密码样式(如:JWT密钥、数据库连接串密码部分)
- 输入时显示为
****
测试记录
| 测试项 | 测试结果 | 测试时间 | 备注 |
|---|---|---|---|
| 连接测试 | |||
| 读取配置 | |||
| 修改简单配置 | |||
| 修改嵌套配置 | |||
| 图片上传 | |||
| 批量修改 | |||
| 重置功能 | |||
| 增量更新 | |||
| 自动发布 | |||
| 权限控制 |
测试负责人:___________
测试日期:___________
测试环境:___________