Pag-automate ng mga Email Verification Test gamit ang mga Disposable Address
Gumawa ng maaasahang end-to-end test para sa signup flow, password reset, at notification system gamit ang EvilMail API.
EvilMail TeamPebrero 20, 20269 min basahin
Pag-set Up ng Test Environment gamit ang API Key
Bago magsimula, kailangan mo ng API key mula sa EvilMail. Pumunta sa settings ng API sa iyong dashboard at gumawa ng bagong key. I-save ito bilang environment variable para magamit sa iyong mga test.
export EVILMAIL_API_KEY="your-api-key-here"
Paggawa ng mga Test Email Address sa pamamagitan ng API
Para sa bawat test, gumawa ng natatanging disposable email address. Tinitiyak nito na ang mga test ay nakahiwalay sa isa't isa at walang interference sa pagitan nila.
Matapos ipadala ng iyong application ang verification email, kailangan mong i-poll ang inbox para sa mensahe. Pinapayagan ng EvilMail API ang pag-poll ng inbox.
curl -X GET https://evilmail.com/api/inbox/[email protected]
-H "Authorization: Bearer $EVILMAIL_API_KEY"
Halimbawa ng Python para sa Paghihintay ng Email
Sa mga totoong test, kailangan mong maghintay nang ilang sandali para dumating ang email. Ginagawa ito ng sumusunod na function gamit ang mga retry:
import requests
import time
def wait_for_email(address, api_key, timeout=60, interval=2):
"""Poll the inbox until an email arrives or timeout is reached."""
url = f"https://evilmail.com/api/inbox/{address}"
headers = {"Authorization": f"Bearer {api_key}"}
start = time.time()
while time.time() - start < timeout:
response = requests.get(url, headers=headers)
data = response.json()
if data.get("messages") and len(data["messages"]) > 0:
return data["messages"][0]
time.sleep(interval)
raise TimeoutError(f"No email received at {address} within {timeout}s")
Pag-integrate sa CI/CD (GitHub Actions)
Maaari mong i-integrate ang mga test na ito sa iyong pipeline gamit ang GitHub Actions. Idagdag ang API key bilang secret sa iyong repository at gamitin ito sa workflow:
Sa iyong mga email test, i-assert ang mga sumusunod: pagdating ng email sa tamang timeframe, kawastuhan ng email subject, pagkakaroon ng verification link sa body, validity ng link, at tamang pag-function nito pagkatapos i-click.
Pag-scale sa Daan-daang Test
Gamit ang EvilMail API, madali kang makakagawa ng daan-daang test email address at makakapatakbo ng parallel test. Bawat test ay may sariling independyenteng address at walang interference sa pagitan ng mga test.