Sobes.tech
Junior

Jak można przetestować pole do wprowadzania email?

sobes.tech AI

Odpowiedź od AI

Sprawdzić poprawność formatu (obecność @, domeny). Sprawdzić maksymalną długość pola. Sprawdzić obsługę znaków specjalnych (!@#$%^&*()_+=-{}[]|\\:;"'<>,.?/~). Sprawdzić wprowadzanie pustych ciągów i spacji. Sprawdzić wprowadzanie cyrylicy. Sprawdzić kopiowanie/wklejanie. Sprawdzić wysyłanie formularzy z poprawnymi i niepoprawnymi emailami. Sprawdzić działanie placeholdera. Sprawdzić styl pola w różnych stanach (focus, błąd). Sprawdzić dostępność (np. za pomocą czytnika ekranu). Sprawdzić wyświetlanie na różnych urządzeniach i przeglądarkach.

Automatyzacja: Używać wyrażeń regularnych do sprawdzania formatu.

import re

def is_valid_email(email):
    # Proste wyrażenie regularne dla przykładu
    pattern = r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
    return re.match(pattern, email) is not None

# Przykład użycia
email1 = "test@example.com"
email2 = "invalid-email"
print(f"{email1}: {is_valid_email(email1)}")
print(f"{email2}: {is_valid_email(email2)}")

Używać frameworków automatyzacji UI (Selenium, Cypress) do interakcji z polem wprowadzania.

// Przykład w Java z Selenium
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class EmailFieldTest {
    public static void main(String[] args) {
        // Ustawić ścieżkę do drivera
        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
        WebDriver driver = new ChromeDriver();

        try {
            driver.get("http://your-website.com/form"); // Zamienić na adres strony z formularzem

            WebElement emailField = driver.findElement(By.id("email")); // Zamienić na ID pola

            // Test z poprawnym wejściem
            emailField.sendKeys("valid.email@test.com");
            // Dodać sprawdzenie, że nie pojawił się komunikat o błędzie

            // Test z niepoprawnym wejściem
            emailField.clear();
            emailField.sendKeys("invalid-email");
            // Dodać sprawdzenie, że pojawił się komunikat o błędzie

        } finally {
            driver.quit();
        }
    }
}