Latence d'observation et latence de livraison sont deux choses différentes
Polling ou temps réel pour les tests e-mail : choisissez une attente, pas une garantie de livraison
Polling et événements temps réel modifient la façon dont le test découvre un message reçu ; ils ne garantissent pas le délai du sender, de la file ou du transport SMTP.
Un timeout e-mail peut venir d'un envoi tardif, d'une livraison lente, d'un événement temps réel manqué ou d'un mauvais filtre de message. Polling et realtime ne résolvent que la partie observation. Un test fiable définit d'abord le message attendu et une deadline, puis choisit comment observer jusqu'à cette limite.
Deux stratégies d'observation
| Propriété | Polling | Realtime |
|---|---|---|
| Mécanisme | Interroger périodiquement | Réagir à un événement |
| Complexité | Simple avec intervalle et deadline | Connexion et reconnexion à gérer |
| Charge | Requêtes même sans changement | Moins de vérifications vides |
| Échec | Timeout trop court | Événement perdu ou connexion cassée |
| Fallback | Continue naturellement jusqu'à la deadline | Gagne à avoir une réconciliation |
Construisez l'attente autour d'un prédicat
- 1
Définissez le message
Destinataire, sender, sujet et fenêtre temporelle.
- 2
Fixez une deadline
Pas de boucle infinie.
- 3
Observez jusqu'à correspondance
Polling, event ou hybride peuvent utiliser la même logique de matching.
- 4
Échouez avec un diagnostic de couche
Distinguez message absent, mauvais message et canal realtime défaillant.
Une attente retryable vaut mieux qu'un sleep arbitraire
Playwright propose des assertions qui réessaient et expect.poll ; Cypress réessaie également queries et assertions jusqu'au timeout. Le principe est meilleur qu'un sleep fixe : attendre une condition utile jusqu'à une deadline.
Un délai fixe gaspille du temps quand tout est rapide et échoue artificiellement quand la livraison dépasse légèrement la valeur choisie.
Realtime ne rend pas SMTP realtime
Un événement peut être émis immédiatement après stockage côté réception, mais il ne force pas le site expéditeur ou un fournisseur en amont à envoyer plus tôt.
Choisissez polling ou realtime selon votre système d'observation, mais gardez la vraie assertion indépendante : un message précis doit apparaître avant une deadline explicite, avec des diagnostics capables d'identifier la couche lente.
Besoin d’un destinataire propre pour la QA e-mail manuelle ?
Utilisez MailOnce pour inspecter de vrais messages d’inscription, OTP, liens magiques, réinitialisation de mot de passe et notifications sans placer votre boîte personnelle dans les données de test.
Créer un e-mail temporaireSources et lectures complémentaires
Documentation primaire de sécurité et d’exécution de tests utilisée pour étayer les recommandations.
Poursuivre les tests
Passez à la prochaine frontière du même problème de test e-mail.