Test mühitinin qurulması
E-poçt doğrulama testlərini avtomatlaşdırmaq üçün ilk addım düzgün test mühitinin qurulmasıdır. Sizə lazım olacaq: API açarı, test çərçivəsi (məsələn, pytest və ya Jest), və CI/CD sisteminizə giriş. Test mühitiniz istehsal mühitindən tamamilə ayrı olmalıdır.
API istifadəsi
EvilMail API vasitəsilə proqramlı şəkildə yeni e-poçt ünvanları yarada bilərsiniz. Əvvəlcə API açarınızı əldə edin, sonra aşağıdakı kimi sorğu göndərin:
curl -X POST https://api.evilmail.com/v1/inboxes
-H "Authorization: Bearer YOUR_API_KEY"
-H "Content-Type: application/json"Bu sizə unikal birdəfəlik e-poçt ünvanı qaytaracaq.
Poçt qutusunun yoxlanması
E-poçt göndərildikdən sonra poçt qutusunu yoxlamaq üçün polling mexanizmindən istifadə edin. API-yə müntəzəm aralıqlarla sorğu göndərərək yeni mesajların gəlib-gəlmədiyini yoxlayın.
curl https://api.evilmail.com/v1/inboxes/{inbox_id}/messages
-H "Authorization: Bearer YOUR_API_KEY"Python nümunəsi
Aşağıdakı Python nümunəsi tam doğrulama test axınını göstərir:
import requests
import time
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.evilmail.com/v1"
def create_inbox():
resp = requests.post(f"{BASE_URL}/inboxes",
headers={"Authorization": f"Bearer {API_KEY}"})
return resp.json()
def poll_inbox(inbox_id, timeout=30):
start = time.time()
while time.time() - start < timeout:
resp = requests.get(f"{BASE_URL}/inboxes/{inbox_id}/messages",
headers={"Authorization": f"Bearer {API_KEY}"})
messages = resp.json()
if messages:
return messages[0]
time.sleep(2)
raise TimeoutError("No message received")
def test_email_verification():
inbox = create_inbox()
trigger_verification(inbox["email"])
message = poll_inbox(inbox["id"])
assert "verify" in message["subject"].lower()
assert message["body"] is not NoneCI/CD inteqrasiyası
Testlərinizi CI/CD boru kəmərinə daxil etmək üçün API açarınızı mühit dəyişəni kimi saxlayın və test addımına əlavə edin. GitHub Actions, GitLab CI və ya Jenkins ilə asanlıqla inteqrasiya edə bilərsiniz.
İddiaların yazılması
Effektiv testlər üçün aşağıdakıları yoxlayın: e-poçtun vaxtında gəlib-gəlmədiyini, mövzu sətirinin düzgünlüyünü, doğrulama linkinin mövcudluğunu və linkin işləkliyini. Bu iddialar doğrulama axınının tam işləkliyini təmin edir.
Testlərin genişləndirilməsi
Paralel testlər icra etmək üçün hər test üçün ayrıca poçt qutusu yaradın. API rate limitlərini nəzərə alın və böyük test dəstləri üçün uyğun gecikmələr əlavə edin.

