Sobes.tech
Junior

Elektron poçt ünvanı giriş sahəsini necə test etmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Elektron poçt ünvanı daxil etmə sahəsinin testləri aşağıdakı yoxlamaları əhatə edir:

  • Formatın doğruluğu:
    • Düzgün formatlar (name@domain.zone, name.surname@subdomain.domain.zone və s.).
    • Yanlış formatlar (@ olmadan, domen olmadan, bir neçə @, qadağan olunmuş simvollar, boşluqlar ilə).
    • Xüsusi simvollar lokal hissədə və domen daxilində.
    • Müxtəlif uzunluktakı domen adları.
    • IP ünvanı domen kimi (user@[192.168.1.1]).
  • Sahənin uzunluğu:
    • Minimum icazə verilən uzunluq.
    • Maksimum icazə verilən uzunluq.
    • Maksimum uzunluğu aşma.
  • Sahənin məcburiliyi:
    • Boş sahə ilə formanın göndərilməsi.
  • Hərflərin böyük-kiçik həssaslığı:
    • Sahə case-sensitive-dir (adətən domen hissəsi üçün yox).
  • Brauzer və platformalararası test:
    • Müxtəlif brauzerlərdə və cihazlarda düzgün göstərilməsi və davranışı.
  • Təhlükəsizlik testi:
    • XSS hücumları (skriptlərin daxil edilməsi).
    • SQL inyeksiyaları (sahə birbaşa verilənlər bazası ilə əlaqədar olduqda).
  • Performans:
    • Uzun/çətin ünvanların daxil edilməsi zamanı cavab müddəti (əgər "canlı" validasiya mövcuddursa).

Test ssenarilərinin nümunələri:

ID Test ssenarisinin təsviri Giriş məlumatları Gözlənilən nəticə Faktiki nəticə Status
TC-001 Düzgün email formatı test@example.com Sistem emaili qəbul edir, xəta mesajı yox.
TC-002 Format düzgün deyil (@ olmadan) testexample.com Sistem format xətası bildirir.
TC-003 Çoxlu @ olan format test@example@com Sistem format xətası bildirir.
TC-004 Boş sahə (məcburi) (boş) Sistem sahənin məcbur olduğunu bildirir.
TC-005 Uzun email a*250 + @example.com Sistem icazə verilən uzunluqda emaili düzgün emal edir.

Avtomatlaşdırılmış test nümunəsi (Python və Selenium istifadə edilərək):

# test_email_field.py
from selenium import webdriver
from selenium.webdriver.common.by import By

def test_valid_email_input():
    driver = webdriver.Chrome() # və ya başqa driver
    driver.get("http://your-app-url.com") # tətbiqin URL-ini dəyişin

    email_field = driver.find_element(By.ID, "email") # sahənin locatorunu dəyişin
    email_field.send_keys("test@example.com")

    # Xəta mesajının olmamasını yoxlama
    error_message = driver.find_elements(By.ID, "email-error") # xəta mesajının locatorunu dəyişin
    assert len(error_message) == 0, "Düzgün email üçün xəta mesajı göstərildi"

    driver.quit()

def test_invalid_email_input():
    driver = webdriver.Chrome()
    driver.get("http://your-app-url.com")

    email_field = driver.find_element(By.ID, "email")
    email_field.send_keys("invalid-email")

    # Xəta mesajının göstərilməsini yoxlama
    error_message = driver.find_element(By.ID, "email-error") # xəta mesajının locatorunu dəyişin
    assert error_message.is_displayed(), "Yanlış email üçün xəta mesajı göstərilmədi"

    driver.quit()