Vyzva testovani overovani e-mailem
Testovani procesu overovani e-mailem je jednim z nejfrustrujicich ukolu pri vyvoji softwaru. Potrebujete skutecne e-mailove adresy, ktere prijimaji zpravy, musite overit obsah e-mailu a extrahovat potvrzovaci odkazy — to vse automaticky a reprodukovatelne.
Jednorazove e-mailove adresy tento problem elegantne resi tim, ze poskytuji programaticky vytvarene adresy, ktere prijimaji e-maily a zpristupnuji je pres API.
Testovani API: zaklady a postupy
Pred automatizaci e-mailovych testu musite pochopit, jak funguje EvilMail API. Kazda jednorazova adresa ma vyhrazeny endpoint pro cteni prijatych zprav.
Klicove principy testovani API pro e-mail:
- Vygenerujte jedinecnou adresu pro kazdy test
- Odeslite overovaci e-mail prostrednictvim vasi aplikace
- Dotazujte se API pro ziskani zpravy
- Extrahujte a validujte obsah (odkazy, kody, tokeny)
Prakticky priklad v Pythonu
Zde je uplny priklad automatickeho testovani overovani e-mailem:
import requests
import re
import time
API_BASE = "https://api.evilmail.com/v1"
API_KEY = "your-api-key-here"
headers = {"Authorization": f"Bearer {API_KEY}"}
# Step 1: Create a disposable address
resp = requests.post(f"{API_BASE}/inboxes", headers=headers)
inbox = resp.json()
email_address = inbox["email"]
# Step 2: Trigger your app's registration flow
register_user(email_address)
# Step 3: Poll for the verification email
for attempt in range(10):
time.sleep(3)
resp = requests.get(
f"{API_BASE}/inboxes/{inbox['id']}/messages",
headers=headers
)
messages = resp.json()
if messages["data"]:
break
# Step 4: Extract the verification link
body = messages["data"][0]["body"]
link = re.search(r'https://yourapp.com/verify?token=[w-]+', body)
assert link, "Verification link not found in email"
# Step 5: Complete verification
resp = requests.get(link.group())
assert resp.status_code == 200Integrace do CI/CD
Testy overovani e-mailem by mely byt soucasti vaseho CI/CD pipeline. Zde je navod, jak je efektivne integrovat:
- Promenne prostredi: ulozte API klic jako secret v CI/CD (EVILMAIL_API_KEY)
- Paralelizace: kazdy test pouziva vlastni jednorazovou adresu, takze testy mohou bezet paralelne
- Timeout: nastavte rozumny timeout (30 sekund) pro prijem e-mailu
- Cisteni: smazte jednorazove schranky po dokonceni testu
Skalovani na velke objemy
Kdyz mate stovky testu vyzadujicich overeni e-mailem, vykon se stava kritickym:
- Pouzijte webhooky misto pollingu pro snizeni latence
- Seskupte testy podle vyhrazenych docasnych domen
- Implementujte retry logiku s exponencialnim backoffem
- Monitorujte miru dorucitelnosti e-mailu v pipeline
Zaver
Automatizace testu overovani e-mailem uz nemusi byt slozita. S jednorazovymi adresami a robustnim API muzete integrovat kompletni e-mailove testy do vaseho CI/CD pipeline a zajistit, ze registracni a overovaci procesy funguji bezchybne pri kazdem deploymentu.

