26 Ekim 2026 tarihinde test edildi · Geliştirici rehberi

E-posta doğrulama testi: geçici kutudan form sonucuna

E-postadan kod okumak, doğrulama testinin bir adımıdır. Uygulamanızın kodu kabul ettiğini, yanlış veya süresi dolmuş değerleri reddettiğini ve tekrar kullanımı engellediğini de kontrol etmelisiniz. Bu çalıştırılabilir Python örneği, gerçek bir tarayıcı formunu geçici gecici.email kutusuna bağlayarak uygulama sonucunu sınar.

Kapsam: Chrome formu + canlı API simülasyonu. Mesaj, token gerektiren simülasyon uç noktasından eklenir. Bu test SMTP, dış gönderici, dil modeli veya browser-use ajanı çalıştırmaz. Gerçek bir hesap oluşturmaz.

  1. 01

    Oluştur

    Bu test oturumuna özel geçici kutu ve sunucuda bir doğrulama isteği.

  2. 02

    Oku

    Kutudaki temsili mesajın kodunu alıp maskeli alana aktar.

  3. 03

    Doğrula

    Formu gönder ve uygulamanın doğrulanmış durumunu kontrol et.

  4. 04

    Temizle

    Tekrar kullanımı reddet, kutuyu sil ve yerel sunucuyu kapat.

1. Yerel test uygulamasını çalıştırın

HTTPS sertifika deposu çalışan Python 3.8 veya üzerini kullanın. pip bağımlılığı, model anahtarı veya ücretli servis gerekmez. Kodu inceledikten sonra bu komutları yeni bir klasörde çalıştırın. Sabit Git sürümü test edilen kaynağı gösterir.

git clone https://github.com/codeonthetable/gecici-email.git
cd gecici-email
git checkout 050da5aa0b977212d95ff128852b3e241078ace3
python3 -m unittest discover -s tests -p 'test_verification_app.py' -v
python3 examples/verification_app.py --serve

Tarayıcıda http://127.0.0.1:8797 adresini açın. Uygulama yalnızca kendi bilgisayarınızı dinler. Port doluysa --port 8798 ekleyin ve adreste de bu portu kullanın. Windows’ta Python komutu python3 yerine py olabilir.

Test edilen kaynak kodu incelePython örneğini indir

2. Kodun okunmasını ve form sonucunu ayrı kontrol edin

  1. Start QA session: yeni kutu ve rastgele altı haneli doğrulama kodu oluşturur. Uygulama temsili mesajı bu kutuya ekler.
  2. Try wrong code: yanlış kodun reddedildiğini gösterir. Ardından Read test inbox ile gelen kodu, çıktıya yazdırmadan maskeli alana alın.
  3. Verify code: gerçek formu gönderir. Testi başarılı saymadan önce verified (HTTP 200) sonucunu arayın.
  4. Check replay rejection: tamamlanan doğrulamanın tekrar kullanılamadığını kontrol eder. Son olarak Delete test inbox ile kutuyu silin.
Chrome’da gözlenen test sonuçları — 26 Ekim 2026
SonuçGösterdiği durum
message_simulated · 201Temsili mesaj kendi QA kutumuza eklendi.
wrong_code · 400Uygulama yanlış kodu reddetti.
code_loaded · 200Kutudan test kodu okundu; doğrulama henüz tamamlanmadı.
verified · 200Form kodu gönderdi ve sunucu doğrulamayı kabul etti.
already_used · 409Tamamlanan doğrulama isteği yeniden kullanılamadı.
cleaned · 200Geçici kutu API üzerinden silindi.

Python 3.8.3rc1 ile on yerel test geçti. Süre sonu, beş deneme sınırı, oturum gereksinimi, host/origin kontrolleri ve silmeyi tekrar deneme yerel testlerle sınandı. Ayrı Chrome koşusu tek bir canlı QA kutusu kullandı ve sildi. Bunlar test sonucudur; üretim trafiği veya başarılı AI kullanımı değildir.

3. Hataları ve temizliği yönetin

  • not_arrived · 408: henüz kod yok. 120 saniyelik doğrulama süresi içinde yeniden okumadan önce mesaj ekleme sonucunu kontrol edin.
  • expired · 410 / attempt_limit · 429: kutuyu temizleyip yeni test oturumu başlatın. Kutu ömrü ile uygulamanın doğrulama süresi ayrıdır.
  • cleanup_failed_retry: sunucu çalışırken Delete test inbox işlemini tekrar deneyin. Ctrl+C de temizlemeyi dener; yalnız shutdown_cleanup ve sessions toplamlarını yazdırır.

Süreci zorla kapatmak temizliği çalıştıramaz; kutu kendi süresi dolana kadar kalabilir. Silme, API üzerinden mantıksal silmedir; fiziksel yok etme garantisi değildir. Sertifika hatasını çözmek için TLS doğrulamasını kapatmayın.

Bu düzeni kendi testinize uyarlayın

Ayrı test ortamında simülasyonu, uygulamanızın mevcut göndericisiyle değiştirin. Forma yalnız kutu adresini verin; Bearer token test çalıştırıcısında kalsın. Süre sınırıyla doğru mesajı bekleyin, kodu girin, uygulamanın doğrulanmış durumunu kontrol edin ve finally bölümünde kutuyu silin. Paralel koşular için ayrı kutu kullanın.

Read test inbox düğmesi test kolaylığıdır. Üretim uygulaması, kullanıcının doğrulama kodunu geri veren bir uç nokta sunmamalıdır. Bu sıralı çalışan eğitim sunucusu üretim kimlik doğrulama tasarımı, teslimat hız ölçümü veya yük testi değildir. İstekler qa-test etiketlidir; adres, token, mesaj ve kodlar loglanmaz.

Uygulama kaynakları: Python http.server · secrets · Test ayrıntıları