步骤10定价策略设置功能手动测试指南
测试日期: 2026-02-03
测试范围: 定价策略设置功能完整流程
📋 测试前准备
1. 确保服务运行
# 检查服务状态
docker compose ps
# 如果未运行,启动服务
docker compose up -d
2. 准备测试数据
- 至少有一个已审核通过的专家(状态为
approved) - 如果没有,需要:
- 创建知识库
- 创建专家
- 发布到市场
- 管理员审核通过
🧪 测试步骤
测试1: 验证"设置定价"按钮显示
目标: 验证专家状态为"已审核"时显示"设置定价"按钮
步骤:
- 访问开发者门户:
https://mbe.hi-maker.com/developer/experts - 登录开发者账号
- 查看专家列表
预期结果:
- ✅ 状态为"✅ 已审核"的专家显示"💰 设置定价"按钮
- ✅ 按钮样式:渐变紫色背景
- ✅ 状态为"🔄 审核中"的专家不显示此按钮
验证方法:
- 检查专家列表中的操作列
- 确认按钮只在已审核专家上显示
测试2: 访问定价设置页面
目标: 验证定价设置页面可以正常访问
步骤:
- 在专家列表中,点击"💰 设置定价"按钮
- 或直接访问:
/developer/experts/pricing?expert_id=xxx
预期结果:
- ✅ 页面正常加载
- ✅ 显示专家名称
- ✅ 显示定价模式标签页(4个标签)
- ✅ 显示分润比例设置区域
验证方法:
- 检查页面标题
- 检查URL参数是否正确
- 检查页面元素是否正常显示
测试3: 按Token收费模式
目标: 验证按Token收费模式配置
步骤:
- 在定价设置页面,点击"按Token收费"标签
- 填写:
- 每1000 Token价格:
0.05 - 免费试用次数:
3
- 每1000 Token价格:
- 调整开发者分润:
70% - 点击"💾 保存定价设置"
预期结果:
- ✅ 标签页切换正常
- ✅ 表单字段可以正常输入
- ✅ 保存成功提示
- ✅ 返回专家列表
验证方法:
- 检查保存后的提示信息
- 重新打开定价设置页面,验证配置已保存
测试4: 按调用次数收费模式
目标: 验证按调用次数套餐配置
步骤:
- 点击"按调用次数"标签
- 填写免费试用次数:
3 - 添加套餐:
- 套餐1: 名称="单次咨询", 次数=1, 价格=5.0
- 套餐2: 名称="10次套餐", 次数=10, 价格=39.0
- 套餐3: 名称="30次套餐", 次数=30, 价格=99.0
- 点击"💾 保存定价设置"
预期结果:
- ✅ 可以添加多个套餐
- ✅ 可以删除套餐
- ✅ 套餐信息正确保存
- ✅ 保存后可以重新加载显示
验证方法:
- 检查套餐列表是否正确显示
- 重新打开页面,验证套餐配置已保存
测试5: 订阅制模式
目标: 验证订阅制层级配置
步骤:
- 点击"订阅制"标签
- 添加订阅层级:
- 层级1:
- 名称="基础版"
- 月费=49.0
- 每日对话次数=3
- 功能特性="基础心理支持\n每日3次对话"
- 层级2:
- 名称="专业版"
- 月费=129.0
- 每日对话次数=-1(无限)
- 功能特性="无限对话\n优先响应\n专属报告"
- 层级1:
- 点击"💾 保存定价设置"
预期结果:
- ✅ 可以添加多个订阅层级
- ✅ 可以删除订阅层级
- ✅ 功能特性支持多行输入
- ✅ 订阅层级信息正确保存
验证方法:
- 检查订阅层级列表是否正确显示
- 重新打开页面,验证订阅层级配置已保存
测试6: 混合模式
目标: 验证混合模式配置
步骤:
- 点击"混合模式"标签
- 填写:
- 按Token价格:
0.05 - 免费试用次数:
3
- 按Token价格:
- 添加按次付费套餐(同测试4)
- 添加订阅层级(同测试5)
- 点击"💾 保存定价设置"
预期结果:
- ✅ 同时显示Token价格、套餐和订阅层级配置
- ✅ 所有配置都可以正常保存
- ✅ 保存后可以重新加载显示
验证方法:
- 检查所有配置是否正确保存
- 重新打开页面,验证所有配置已保存
测试7: 分润比例设置
目标: 验证分润比例设置和可视化
步骤:
- 在任意定价模式下,调整开发者分润比例
- 观察分润比例条的变化
预期结果:
- ✅ 开发者分润可以调整(0-100%)
- ✅ 平台分润自动计算(100% - 开发者分润)
- ✅ 分润比例条实时更新
- ✅ 分润比例正确保存
验证方法:
- 调整开发者分润,检查平台分润是否自动更新
- 检查分润比例条是否实时更新
- 保存后重新打开,验证分润比例已保存
测试8: API测试(使用curl或Postman)
目标: 验证定价API正常工作
8.1 获取定价配置
curl -X GET "http://localhost:8000/developer/api/expert-pricing/{expert_id}" \
-H "Cookie: portal_session=YOUR_SESSION_ID"
预期结果:
- ✅ 返回JSON格式的定价配置
- ✅ 包含所有定价字段
8.2 保存定价配置
curl -X POST "http://localhost:8000/developer/api/expert-pricing" \
-H "Content-Type: application/json" \
-H "Cookie: portal_session=YOUR_SESSION_ID" \
-d '{
"expert_id": "expert_xxx",
"pricing_model": "hybrid",
"price_per_1k_tokens": 0.05,
"free_trial_calls": 3,
"per_call_packages": [
{"name": "单次咨询", "calls": 1, "price": 5.0},
{"name": "10次套餐", "calls": 10, "price": 39.0}
],
"subscription_tiers": [
{"name": "基础版", "price": 49.0, "calls_per_day": 3, "features": ["基础功能"]}
],
"developer_share": 0.7,
"platform_share": 0.3
}'
预期结果:
- ✅ 返回成功响应
- ✅ 定价配置已保存到数据库
✅ 测试检查清单
核心功能
- "设置定价"按钮在已审核专家上显示
- 定价设置页面可以正常访问
- 四种定价模式标签页切换正常
- 按Token收费模式配置正常
- 按调用次数套餐配置正常(添加/删除)
- 订阅制层级配置正常(添加/删除)
- 混合模式配置正常
- 分润比例设置和可视化正常
- 定价配置可以正确保存
- 保存后可以重新加载显示
UI交互
- 标签页切换流畅
- 表单字段验证正常
- 添加/删除套餐/订阅层级正常
- 分润比例条实时更新
- 保存成功/失败提示正常
API功能
- GET API可以获取定价配置
- POST API可以保存定价配置
- API错误处理正常
🐛 常见问题
问题1: "设置定价"按钮不显示
原因: 专家状态不是 approved
解决: 确保专家已通过管理员审核
问题2: 定价设置页面404
原因: 路由未注册或expert_id参数缺失 解决:
- 检查
main.py中是否注册了expert_pricing_router - 确保URL中包含
expert_id参数
问题3: 保存失败
原因: 未找到对应的市场模型
解决: 确保专家已发布到市场(状态为 pending_review 或 approved)
问题4: 套餐/订阅配置丢失
原因: JSON解析失败 解决: 检查JSON格式是否正确
📊 自动化测试结果
测试脚本: scripts/test_expert_pricing.py
测试结果: ✅ 6/6 测试通过
- ✅ PricingModel枚举验证
- ✅ 创建带定价配置的模型
- ✅ 获取定价配置
- ✅ 更新定价配置
- ✅ 所有定价模式测试
- ✅ 定价数据结构验证
🎯 测试完成标准
所有以下功能正常工作:
- ✅ "设置定价"按钮正确显示
- ✅ 定价设置页面可以访问
- ✅ 四种定价模式都可以配置
- ✅ 套餐和订阅层级可以添加/删除
- ✅ 分润比例可以调整
- ✅ 定价配置可以保存和加载
- ✅ API正常工作
测试完成后,请记录测试结果和发现的问题