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.
- 01
Oluştur
Bu test oturumuna özel geçici kutu ve sunucuda bir doğrulama isteği.
- 02
Oku
Kutudaki temsili mesajın kodunu alıp maskeli alana aktar.
- 03
Doğrula
Formu gönder ve uygulamanın doğrulanmış durumunu kontrol et.
- 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 --serveTarayı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.
2. Kodun okunmasını ve form sonucunu ayrı kontrol edin
- Start QA session: yeni kutu ve rastgele altı haneli doğrulama kodu oluşturur. Uygulama temsili mesajı bu kutuya ekler.
- 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.
- Verify code: gerçek formu gönderir. Testi başarılı saymadan önce verified (HTTP 200) sonucunu arayın.
- Check replay rejection: tamamlanan doğrulamanın tekrar kullanılamadığını kontrol eder. Son olarak Delete test inbox ile kutuyu silin.
| Sonuç | Gösterdiği durum |
|---|---|
| message_simulated · 201 | Temsili mesaj kendi QA kutumuza eklendi. |
| wrong_code · 400 | Uygulama yanlış kodu reddetti. |
| code_loaded · 200 | Kutudan test kodu okundu; doğrulama henüz tamamlanmadı. |
| verified · 200 | Form kodu gönderdi ve sunucu doğrulamayı kabul etti. |
| already_used · 409 | Tamamlanan doğrulama isteği yeniden kullanılamadı. |
| cleaned · 200 | Geç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ı