Sobes.tech
Junior

როგორ შევამოწმოთ ელფოსტის მისამართის შეყვანის ველი?

sobes.tech AI

პასუხი AI-სგან

Elektroninio pašto adreso įvedimo lauko testavimas apima patikrinimus:

  • Formato validacija:
    • Teisingi formatai (name@domain.zone, name.surname@subdomain.domain.zone ir kt.).
    • Netinkami formatai (be @, be domeno, keli @, su draudžiamais simboliais, su tarpais).
    • Specialieji simboliai lokaliosios dalies ir domeno.
    • Domeno pavadinimai įvairaus ilgio.
    • IP adresas kaip domenas (user@[192.168.1.1]).
  • Lauko ilgis:
    • Minimalus leistinas ilgis.
    • Maksimalus leistinas ilgis.
    • Viršijimas maksimalaus ilgio.
  • Lauko privalomumas:
    • Siųsti formą su tuščiu lauku.
  • Didžiosios ir mažosios raidės jautrumas:
    • Ar laukas yra case-sensitive (paprastai ne domeno dalyje).
  • Kryžminis naršyklės ir platformos testavimas:
    • Tinkamas rodymas ir elgsena įvairiose naršyklėse ir įrenginiuose.
  • Saugumo testavimas:
    • XSS atakos (įterpti skriptus).
    • SQL injekcijos (jei laukas sąveikauja su duomenų baze tiesiogiai).
  • Veikimo našumas:
    • Atsako laikas įvedus ilgas/sudėtingas adresus (jei yra "gyvas" validavimas).

Testų pavyzdžiai:

ID Testo aprašymas Įvesties duomenys Tikėtinas rezultatas Faktinis rezultatas Statusas
TC-001 Teisingas el. pašto formatas test@example.com Sistema priima el. paštą, nėra klaidos pranešimo.
TC-002 Netinkamas formatas (be @) testexample.com Sistema išveda klaidos pranešimą dėl formato.
TC-003 Netinkamas formatas (kelios @) test@example@com Sistema išveda klaidos pranešimą dėl formato.
TC-004 Tuščias laukas (privalomas) (tuščias) Sistema išveda pranešimą, kad laukas privalomas.
TC-005 Ilgas el. paštas a*250 + @example.com Sistema teisingai apdoroja leistiną ilgio el. paštą.

Automatizuoto testo pavyzdys (Python su Selenium):

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

def test_valid_email_input():
    driver = webdriver.Chrome() # arba kitas vairuotojas
    driver.get("http://your-app-url.com") # pakeisti į programėlės URL

    email_field = driver.find_element(By.ID, "email") # pakeisti į lauko locator
    email_field.send_keys("test@example.com")

    # Patikrinimas, ar nėra klaidos pranešimo
    error_message = driver.find_elements(By.ID, "email-error") # pakeisti į klaidos pranešimo locator
    assert len(error_message) == 0, "Klaidos pranešimas pasirodė teisingam el. paštui"

    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")

    # Patikrinimas, ar rodomas klaidos pranešimas
    error_message = driver.find_element(By.ID, "email-error") # pakeisti į klaidos pranešimo locator
    assert error_message.is_displayed(), "Klaidos pranešimas nerodytas netinkamam el. paštui"

    driver.quit()