- Surse complete web (React/Vite) + mobil (React Native/Expo) + extensie (MV3) - Documentație de livrare: ghid utilizare, matrice trasabilitate cerințe, raport testare furnizor - Artefacte binare: imagine Docker didi-frontend:lot3-1.0, APK, extensie v3.2.6 + SHA256SUMS - Configurare adresă platformă externalizată (build args / .env / config.js) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
4.6 KiB
4.6 KiB
🧪 DIDI Extension - Testing Guide
📦 Instalare Extensie
- Deschide Chrome/Edge
- Navighează la
chrome://extensions - Activează Developer mode (toggle în dreapta sus)
- Click Load unpacked
- Selectează folderul
browser-extension
✅ Test 1: Enhanced Post Extraction
Pași:
- Mergi pe Facebook (https://facebook.com)
- Deschide extensia (click pe icon în toolbar)
- Click pe "📋 Extract Post Content"
- Hover peste un post - ar trebui să vezi bordură albastră
- Click pe post
Ce ar trebui să vezi:
✅ Notificare pe pagină (colț dreapta sus):
✓ Extracted: text+image
📝 Text: 250 chars
🖼️ Images: 2
🔗 Links: 1
Click extension icon to view details
✅ În extensie (când o redeschizi):
- Tab-ul Facebook activ
- Preview cu tot conținutul extras:
📝 Type: text+image 👤 Author: Numele Autorului 💬 Text: Textul postării... (primele 200 caractere) 🖼️ Images: 2 found 1. 1200x800px 2. 800x600px 🔗 External Links: 1 found 1. https://example.com/... 🔗 Post URL: https://facebook.com/... ⏰ 2h ago
✅ Butoane disponibile:
- 🚀 Send to Analysis
- 💾 Save
- 🗑️ Clear
Debug (dacă nu merge):
-
Deschide Console (F12) pe Facebook
-
Caută logging de tip:
[DIDI] Content script initialized [FB] Starting Facebook extraction... [FB] Extraction complete: {...} [DIDI] Content stored in chrome.storage -
Verifică chrome storage:
- În Console scrie:
chrome.storage.local.get(null, (data) => console.log(data))
✂️ Test 2: Snipping Tool
Pași:
- Mergi pe orice site (inclusiv Facebook)
- Deschide extensia
- Click pe "✂️ Snipping Tool (Screenshot)"
- Click și drag pentru a selecta o zonă
Ce ar trebui să vezi:
✅ Overlay semi-transparent peste toată pagina ✅ Dreptunghi de selecție (bordură teal) când tragi mouse-ul ✅ Notificare: "📸 Screenshot captured! Coordinates: {...}" ✅ ESC pentru cancel
Debug (dacă nu merge):
- Console logging:
[DIDI] Snipping mode activating... [DIDI] Snip complete: {left: 100, top: 200, width: 500, height: 300} [DIDI] Snip sent to background: {...}
🚀 Test 3: Send to Backend
Pași:
- Extrage conținut (Test 1)
- Click "🚀 Send to Analysis"
Ce ar trebui să vezi:
✅ Status message: "Sending to analysis..." ❌ Apoi error (normal, backend nu e pornit):
❌ Failed to send: Backend returned 404
sau
❌ Failed to send: Failed to fetch
Pentru ca să meargă:
Trebuie să ai backend pornit la:
POST http://localhost:3001/api/analyze
Body:
{
"platform": "facebook",
"data": {
"platform": "facebook",
"type": "text+image",
"author": "...",
"text": "...",
"images": [...],
"links": [...],
...
},
"timestamp": "2025-01-15T..."
}
🐛 Common Issues
"Please refresh the page"
- Fix: Refresh Facebook după ce instalezi extensia
"No content found"
- Verifică: Click exact pe zona postării, nu pe butonul Like/Comment
- Verifică: Console pentru erori
Popup-ul nu arată conținutul
- Fix: Click din nou pe icon extensie
- Verifică: Chrome storage (instrucțiuni mai sus)
Snipping nu apare overlay-ul
- Fix: Refresh pagina
- Verifică: Console pentru erori
📊 Chrome DevTools Tips
Debugging Popup:
- Click dreapta pe icon extensie
- "Inspect popup"
- Console pentru logging
Debugging Content Script:
- F12 pe Facebook
- Console tab
- Caută
[DIDI],[FB]
View Storage:
// Get all storage
chrome.storage.local.get(null, console.log)
// Clear storage
chrome.storage.local.clear()
// Get specific key
chrome.storage.local.get(['facebook_content'], console.log)
✅ Checklist Complet
- Extensia se încarcă fără erori
- Logo "didi" apare corect în header
- Butonul "Extract Post Content" funcționează
- Butonul "Snipping Tool" funcționează
- Notificări apar pe pagină
- Content-ul apare în popup
- Toate imaginile sunt extrase
- Link-urile externe sunt extrase
- "Send to Analysis" trimite request (chiar dacă fail)
- "Save" salvează în storage
- Tab "Saved" arată extractions
Întrebări? Issues? Check Console logging! 🔍