- 添加 Gemini 2.5 Flash 对话接口(流式+非流式) - 添加 NanoBanana 图像生成/编辑接口 - 添加 Sora2 视频生成接口(文生视频、图生视频、去水印) - 移除 models-integration 子项目(功能已迁移至主后端) - 新增测试文档和 Playwright E2E 配置 - 更新前端页面和 API 接口 - 更新后端配置和日志处理
17 KiB
Manual Testing Checklist - H5 慢生活营养专家
Test Date: _______________
Tester: _______________
Device/Browser: _______________
App URL: http://localhost:8080
Test Account: 18621813282 / A123456
✅ PRE-TEST SETUP
- Backend server running at http://127.0.0.1:20822
- Frontend server running at http://localhost:8080
- Browser window resized to mobile view (375px width recommended)
- Test account credentials available
- Screenshot tool ready (for capturing issues)
📱 TEST 1: HOME PAGE (Not Logged In)
Route: http://localhost:8080/#/pages/tool_main/index
- Page loads without errors
- Title "慢生活营养专家" displays at top
- User card shows "请点击登录" text
- "立即登录" button visible in user card
- Four function cards display:
- 食谱计算器 (green card)
- AI营养师 (blue card)
- 食物百科 (yellow card)
- 营养知识 (pink/red card)
- Banner "慢生活营养专家" with "点击即可领取" visible
- Bottom navigation shows 4 tabs: 首页, 社区, 商城, 我的
- No console errors (open browser DevTools)
Issues Found:
_____________________________________________
_____________________________________________
🔐 TEST 2: LOGIN FLOW
Route: Click "立即登录" or navigate to login page
2.1 Login Page Load
- Login page displays correctly
- Phone number input field present
- Password input field present
- Login button present
- "记住密码" checkbox present (if applicable)
- "忘记密码" link present (if applicable)
2.2 Valid Login
- Enter phone: 18621813282
- Enter password: A123456
- Click login button
- Loading indicator appears
- Success message/toast displays
- Redirects to home page
- User card now shows user information (phone/nickname)
- User avatar displays (if applicable)
2.3 Invalid Login Test
- Try wrong password: "WrongPassword123"
- Error message displays clearly
- No redirect occurs
- Fields are clearable for retry
2.4 Validation Tests
- Try empty phone field → validation message
- Try empty password field → validation message
- Try invalid phone format (e.g., "12345") → validation message
Login Status: [ ] Pass [ ] Fail
Issues Found:
_____________________________________________
_____________________________________________
🧮 TEST 3: 食谱计算器 (RECIPE CALCULATOR)
Route: Click green "食谱计算器" card
3.1 Calculator Page Load
- Navigation successful
- Calculator interface displays
- Search/input field for food items visible
- "Add food" or similar button present
- List area for added foods visible
- Calculate button present
3.2 Add Food Items
- Click add food / search field
- Search for "鸡胸肉" (chicken breast)
- Search results display
- Click on search result
- Food added to list successfully
- Quantity field editable
- Try adding second food: "白米饭" (white rice)
- Multiple foods display in list
3.3 Calculate Nutrition
- Set quantities for added foods
- Click calculate/submit button
- Loading indicator appears (if applicable)
- Results page displays
- Nutrition facts show:
- Total calories
- Protein
- Carbohydrates
- Fat
- Other nutrients
3.4 Navigation
- Back button works from results page
- Returns to calculator page
- Can navigate back to home page
- Added foods clear appropriately (or persist as expected)
Calculator Status: [ ] Pass [ ] Fail
Issues Found:
_____________________________________________
_____________________________________________
🤖 TEST 4: AI营养师 (AI NUTRITIONIST)
Route: Click blue "AI营养师" card
4.1 Chat Interface Load
- Navigation successful
- Chat interface displays
- Message history area visible
- Welcome message displays (if applicable)
- Text input field at bottom
- Send button present
- Quick question buttons present (if applicable)
4.2 Send First Message
- Enter message: "你好,我想了解肾病患者的饮食注意事项"
- Click send button
- Message appears in chat history
- Loading indicator shows (typing animation, etc.)
- AI response appears
- Response is relevant to kidney disease diet
- Response formatting is readable (proper line breaks, etc.)
- Response completes (no truncation)
4.3 Conversation Flow
- Send follow-up: "那么应该吃什么食物?"
- AI responds with food recommendations
- Context from previous message maintained
- Chat history scrolls properly
- Send third message: "谢谢"
- AI responds appropriately
4.4 Edge Cases
- Try sending empty message → button disabled or validation
- Send very long message (200+ characters) → handles correctly
- Send message with emoji: "😊 谢谢你的建议"
- Special characters: "营养素 (如钙、铁)" → displays correctly
4.5 Chat Management
- Clear chat button present (if applicable)
- Click clear chat → messages cleared
- Navigate away and return → messages persist or clear as expected
4.6 Navigation
- Back button returns to home
- Re-enter AI Nutritionist → state as expected
AI Nutritionist Status: [ ] Pass [ ] Fail
Issues Found:
_____________________________________________
_____________________________________________
Response Quality Notes:
_____________________________________________
_____________________________________________
📖 TEST 5: 食物百科 (FOOD ENCYCLOPEDIA)
Route: Click yellow "食物百科" card
5.1 Encyclopedia Page Load
- Navigation successful
- Search bar visible at top
- Food list or categories display
- Food cards show images and names
- Empty state displays if no foods (unlikely)
5.2 Search Functionality
- Click search field
- Enter "鸡肉" (chicken)
- Search results display quickly (< 2 seconds)
- Results show chicken-related foods
- Each result shows:
- Food name
- Food image (if applicable)
- Brief info
5.3 Food Detail View
- Click on "鸡胸肉" or first search result
- Detail page loads
- Food name and image display
- Nutrition facts table shows:
- Serving size
- Calories
- Protein
- Carbs
- Fat
- Vitamins/minerals
- Information is readable and well-formatted
5.4 Additional Searches
- Back to search results
- Clear search
- Search for "苹果" (apple)
- New results display
- Click on apple
- Fruit nutrition shows correctly
5.5 Navigation
- Back button from detail to list works
- Back button to home works
- Category filter works (if present)
Food Encyclopedia Status: [ ] Pass [ ] Fail
Issues Found:
_____________________________________________
_____________________________________________
💡 TEST 6: 营养知识 (NUTRITION KNOWLEDGE)
Route: Click pink/red "营养知识" card
6.1 Knowledge Page Load
- Navigation successful
- Article list displays
- Each article shows:
- Title
- Thumbnail image (if applicable)
- Brief description
- Date or read count
- Categories/tags visible (if applicable)
6.2 Article List
- Scroll through article list
- Smooth scrolling
- Images load properly
- At least 3+ articles visible
6.3 Article Detail
- Click on first article
- Article loads smoothly
- Title displays at top
- Content is readable
- Text formatting is proper (paragraphs, headings)
- Images in article display (if any)
- Share button present (if applicable)
- Scroll through long article
- No layout issues
6.4 Read Multiple Articles
- Back to article list
- Click second article
- Different content loads
- Back to list
- Select third article
- Navigation smooth
6.5 Search/Filter (if available)
- Search functionality works
- Category filter works
- Results are relevant
Nutrition Knowledge Status: [ ] Pass [ ] Fail
Issues Found:
_____________________________________________
_____________________________________________
✓ TEST 7: 打卡 (CHECK-IN) FEATURE
Prerequisites: Must be logged in
Route: Click "打卡" button in user card area (after login)
7.1 Check-in Page Load
- Navigation successful
- Check-in form displays
- Date selector present
- Meal type selection present (breakfast/lunch/dinner)
- Food items input field present
- Photo upload option present (if applicable)
- Submit button present
7.2 Fill Check-in Form
- Select today's date
- Choose meal type: "早餐" (breakfast)
- Add food items: "豆浆, 油条"
- Upload photo (if available)
- Submit button enabled
7.3 Submit Check-in
- Click submit button
- Loading indicator appears
- Success message displays
- Redirects appropriately (to history or home)
7.4 Check-in History
- Navigate to check-in history (if accessible)
- Today's check-in appears
- Check-in shows:
- Date
- Meal type
- Food items
- Photo (if uploaded)
Check-in Status: [ ] Pass [ ] Fail
Issues Found:
_____________________________________________
_____________________________________________
🍽️ TEST 8: 精选食谱 (FEATURED RECIPES)
Route: Scroll on home page to recipe section
8.1 Recipe List
- Recipe cards visible on home page
- Each card shows:
- Recipe image
- Recipe name
- Brief description or tags
- At least 2+ recipes displayed
8.2 Recipe Detail
- Click on first recipe
- Detail page loads
- Recipe name and main image display
- Ingredients list present with quantities
- Cooking instructions present
- Instructions are step-by-step
- Nutrition facts shown
- "Favorite" or "Save" button present (if applicable)
8.3 Multiple Recipes
- Back to home page
- Click second recipe
- Different recipe loads
- All information displays correctly
Recipes Status: [ ] Pass [ ] Fail
Issues Found:
_____________________________________________
_____________________________________________
🎁 TEST 9: 营养方案领取 (NUTRITION PLAN CLAIM)
Route: Click "立即领取福利" banner on home page
9.1 Plan Page Load
- Navigation successful
- Nutrition plan page displays
- Plan description visible
- Benefits listed
- "Claim" or "Get Plan" button present
9.2 Claim Process
- Click claim button
- Form displays (if required)
- Fill in required information
- Submit form
- Success confirmation displays
- Plan claimed successfully
9.3 Access Claimed Plan
- Navigate to user profile or "my plans"
- Claimed plan appears
- Plan details accessible
- Plan content displays
Nutrition Plan Status: [ ] Pass [ ] Fail
Issues Found:
_____________________________________________
_____________________________________________
📍 TEST 10: BOTTOM NAVIGATION
Route: Any page with bottom nav
10.1 Tab Bar Visibility
- Bottom navigation always visible
- 4 tabs present: 首页, 社区, 商城, 我的
- Icons display correctly
- Text labels readable
10.2 Navigation Testing
- Click 首页 tab → home page loads
- Click 社区 tab → community page loads
- Community content displays
- Posts or content visible
- Click 商城 tab → shop page loads
- Products or shop interface visible
- Click 我的 tab → profile page loads
- User info displays
- Profile sections visible
10.3 Active State
- Active tab is highlighted (different color/icon)
- Active state changes when switching tabs
- Visual feedback is clear
10.4 Tab Persistence
- Navigate deep into a section
- Use bottom nav to switch tabs
- Return to previous tab
- State preserved appropriately (or resets as expected)
Bottom Navigation Status: [ ] Pass [ ] Fail
Issues Found:
_____________________________________________
_____________________________________________
🔄 TEST 11: CROSS-FEATURE NAVIGATION
11.1 Navigation Flow Test
- Home → AI Nutritionist → Back → Food Encyclopedia
- Food Encyclopedia → Home → Calculator → Back
- Profile → Home → Recipes → Recipe Detail → Back → Back
- All navigation smooth, no errors
11.2 Deep Navigation
- Go to AI Nutritionist
- Start a conversation (send 2 messages)
- Navigate to Home via bottom nav
- Return to AI Nutritionist
- Check if conversation persists (or clears as expected)
11.3 Login/Logout Flow
- Navigate to various pages while logged in
- Logout (if logout option available)
- Check redirect to login page
- Login again
- Return to expected page
Navigation Status: [ ] Pass [ ] Fail
Issues Found:
_____________________________________________
_____________________________________________
🚀 TEST 12: PERFORMANCE
12.1 Load Times
- Home page loads < 3 seconds
- AI Nutritionist page loads < 2 seconds
- Calculator page loads < 2 seconds
- No noticeable lag when switching tabs
- Smooth scrolling throughout app
12.2 Responsiveness
- Buttons respond immediately to clicks
- Forms are responsive (no input lag)
- Images load progressively (or quickly)
- No frozen UI at any point
12.3 Memory/Stability
- Use app for 10+ minutes
- Navigate through all features
- No crashes or freezes
- No memory warnings in console
- App remains responsive
Performance Status: [ ] Pass [ ] Fail
Issues Found:
_____________________________________________
_____________________________________________
🐛 TEST 13: ERROR HANDLING
13.1 Network Errors
- Disconnect internet
- Try to load a page
- Error message displays
- Reconnect internet
- Retry → page loads successfully
13.2 Invalid Inputs
- Calculator: Enter negative quantity → validation
- Search: Enter special characters → handles gracefully
- Forms: Leave required fields empty → validation messages
13.3 API Errors
- If API returns error, user-friendly message shows
- No technical jargon exposed to user
- Option to retry provided
Error Handling Status: [ ] Pass [ ] Fail
Issues Found:
_____________________________________________
_____________________________________________
📱 TEST 14: MOBILE-SPECIFIC FEATURES
14.1 Touch Interactions
- Tap gestures work correctly
- Scroll gestures smooth
- Swipe gestures (if applicable) work
- No accidental clicks due to small targets
14.2 Text Input
- Keyboard opens when clicking input fields
- Keyboard doesn't obscure input field
- Can switch between input fields
- Keyboard closes appropriately
14.3 Orientation (if applicable)
- Rotate device to landscape
- Layout adjusts or locks orientation
- Return to portrait
- No layout breaking
Mobile Features Status: [ ] Pass [ ] Fail
Issues Found:
_____________________________________________
_____________________________________________
📊 FINAL ASSESSMENT
Summary
Total Tests Executed: _____
Tests Passed: _____
Tests Failed: _____
Tests Partially Passed: _____
Critical Issues Found
Medium Priority Issues
Minor Issues / Nice to Have
Overall Assessment
- Ready for production
- Needs minor fixes before production
- Needs major fixes before production
- Requires significant rework
Tester Comments
_____________________________________________
_____________________________________________
_____________________________________________
_____________________________________________
📎 ATTACHMENTS
Screenshots Captured: _____ files
Screen Recording: [ ] Yes [ ] No
Console Log Export: [ ] Yes [ ] No
Network Log Export: [ ] Yes [ ] No
Files saved to: ___________________________________
Test Completed: _______________ (Date/Time)
Total Testing Time: _______________ (hours)
Signature: _______________