Réduit le cycle debug d'un workflow de 1-2 min (replay manuel via
Windows + Léa V1 + maquette) à ~2-5s (mock client Linux contre
serveur de streaming localhost:5005). 30-60× plus rapide.
Architecture :
- tools/test_replay_e2e.py — harness CLI (~580 lignes), reproduit la
chaîne réelle : VWB /api/v3/execute-windows → streaming /replay/raw
→ boucle /replay/next côté harness avec resolve_target sur un
screenshot fixture → POST /replay/result. Pas de modification serveur.
- tests/e2e/test_urgence_aiva_demo.py — wrapper pytest (smoke).
- tests/e2e/urgence_aiva_demo_expected.yaml — référence générée par
--export-expected, pour comparaison régression auto.
- pytest.ini — ajout du marqueur e2e.
Usage :
python tools/test_replay_e2e.py --execution-mode autonomous --max-iter 120 --verbose
python tools/test_replay_e2e.py --single-step 8 --shot <heartbeat>.png
python tools/test_replay_e2e.py --expected tests/e2e/urgence_aiva_demo_expected.yaml
pytest tests/e2e -v -m e2e
Sortie : tableau Markdown step × méthode × score × pos × status × diag.
Limitations connues (extensions post-démo) :
- Une seule fixture screenshot pour tout le replay → click_anchor réalistes
échouent dès qu'on dépasse l'écran fixture. Carte step_id → fixture à venir.
- extract_text/table/t2a_decision exécutés côté serveur, observables mais
pas modifiables.
- Pas de simulation screenshot_after → ReplayVerifier (Critic VLM) ne tourne pas.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
37 lines
1.4 KiB
INI
37 lines
1.4 KiB
INI
[pytest]
|
|
# Configuration pytest pour RPA Vision V3
|
|
# Auteur: Dom, Alice Kiro - 15 décembre 2024
|
|
# Fiche #4: Tests stables et reproductibles
|
|
|
|
# Répertoires de tests
|
|
testpaths = tests
|
|
|
|
# Options par défaut
|
|
addopts = -q --tb=short --strict-markers
|
|
|
|
# Markers personnalisés
|
|
markers =
|
|
unit: Unit tests (rapides, isolés)
|
|
integration: Integration tests (plus lents, dépendances)
|
|
performance: Performance tests (benchmarks)
|
|
slow: Slow tests (skip avec -m "not slow")
|
|
smoke: Smoke tests E2E (barrière anti-régression)
|
|
fiche1: Tests Fiche #1 (aliases compatibilité)
|
|
fiche2: Tests Fiche #2 (corrections BBOX)
|
|
fiche3: Tests Fiche #3 (context hints composite)
|
|
fiche4: Tests Fiche #4 (imports stables)
|
|
fiche5: Tests Fiche #5 (smoke test E2E minimal)
|
|
fiche6: Tests Fiche #6 (sniper mode ranking)
|
|
fiche7: Tests Fiche #7 (container preference et form logic)
|
|
fiche8: Tests Fiche #8 (anti-bugs terrain)
|
|
fiche9: Tests Fiche #9 (postconditions retry backoff)
|
|
fiche10: Tests Fiche #10 (precision metrics engine)
|
|
visual: Tests visuels sur captures réelles (nécessite serveur GPU)
|
|
e2e: Tests E2E contre serveurs (streaming + VWB) actifs — lents, à lancer manuellement
|
|
|
|
# Note: Chemins Python gérés par tests/conftest.py
|
|
|
|
# Filtres de warnings
|
|
filterwarnings =
|
|
ignore::DeprecationWarning
|
|
ignore::PendingDeprecationWarning |