Le test qui échoue : déboguer l'automatisation comme un senior · Leçon 2 sur 6 · Module bonus

Lire le traceback comme un senior

Un traceback est une histoire racontée à l'envers. Trouvez la seule ligne qui est la vôtre, puis laissez la classe d'exception vous dire ce que l'app a fait.

Par Shahriyar · Mis à jour

Trouvez votre ligne d'abord

Commencez par le bas : l'exception et son message. Remontez jusqu'à la première frame dans votre repo — c'est là que votre hypothèse a cassé. Tout le reste est la bibliothèque qui fait son travail.

Les trois grandes, et ce que chacune signifie

▸ The message names the culprit
E   selenium.common.exceptions.ElementClickInterceptedException:
E     Message: element click intercepted: Element <button id="place-order">
E     is not clickable at point (640, 610). Other element would receive
E     the click: <div class="cookie-banner">...</div>

# The error printed the culprit. The fix is not a bigger wait —
# it is dismissing the banner, or asserting it is gone before clicking.

Le bruit du framework

Les frames de site-packages sont du décor — les fixtures, les plugins de réessai et les reporters ajoutent du bruit qui ne signifie rien. Votre bug vit là où votre code rencontre la bibliothèque, généralement une frame.

Basé sur la documentation Python de Selenium et Playwright sur les erreurs et l'attente

Toutes les leçons de Le test qui échoue : déboguer l'automatisation comme un senior

  1. Les quatre questions qui trient tout échec
  2. Lire le traceback comme un senior
  3. Rétrécir l'espace de recherche
  4. Instable ou cassé : prouvez-le avec un chiffre
  5. Ça n'échoue qu'en CI
  6. Le compte rendu : bug produit ou bug de test