55 lines
1.7 KiB
Markdown
Executable File
55 lines
1.7 KiB
Markdown
Executable File
# Fixtures Amazon
|
|
|
|
Ce dossier contient des fichiers HTML réels capturés depuis Amazon.fr pour les tests.
|
|
|
|
## Fichiers
|
|
|
|
### amazon_B0D4DX8PH3.html
|
|
- **Produit**: elago MS1 Station de Charge Compatible avec Le Chargeur MagSafe
|
|
- **ASIN**: B0D4DX8PH3
|
|
- **URL**: https://www.amazon.fr/dp/B0D4DX8PH3
|
|
- **Taille**: ~2.4 MB
|
|
- **Lignes**: 11151
|
|
- **Date capture**: 2026-01-13
|
|
- **Usage**: Test complet parsing avec images, specs, prix
|
|
|
|
### amazon_B0F6MWNJ6J.html
|
|
- **Produit**: Baseus Docking Station, Nomos Air 12 in 1
|
|
- **ASIN**: B0F6MWNJ6J
|
|
- **URL**: https://www.amazon.fr/dp/B0F6MWNJ6J
|
|
- **Taille**: ~2.3 MB
|
|
- **Lignes**: 11168
|
|
- **Date capture**: 2026-01-13
|
|
- **Usage**: Test complet parsing produit tech complexe
|
|
|
|
### captcha.html
|
|
- **Contenu**: Page captcha Amazon
|
|
- **Taille**: 5.1 KB
|
|
- **Lignes**: 115
|
|
- **Usage**: Test détection captcha et gestion erreurs
|
|
|
|
## Utilisation
|
|
|
|
Les tests utilisent ces fixtures avec pytest:
|
|
|
|
```python
|
|
@pytest.fixture
|
|
def amazon_fixture_b0d4dx8ph3():
|
|
fixture_path = Path(__file__).parent.parent / "pricewatch/app/stores/amazon/fixtures/amazon_B0D4DX8PH3.html"
|
|
with open(fixture_path, "r", encoding="utf-8") as f:
|
|
return f.read()
|
|
|
|
def test_parse_real_fixture(store, amazon_fixture_b0d4dx8ph3):
|
|
url = "https://www.amazon.fr/dp/B0D4DX8PH3"
|
|
snapshot = store.parse(amazon_fixture_b0d4dx8ph3, url)
|
|
assert snapshot.reference == "B0D4DX8PH3"
|
|
assert snapshot.price is not None
|
|
# ...
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Ces fichiers sont de vraies pages HTML capturées, ils peuvent contenir beaucoup de JavaScript et de métadonnées
|
|
- Les tests doivent se concentrer sur l'extraction des données essentielles (titre, prix, ASIN, stock)
|
|
- Ne pas tester les données qui peuvent changer (prix exact, nombre d'avis, etc.) mais plutôt le format
|