Sobes.tech
Junior

Como se pode testar um campo de entrada de email?

sobes.tech IA

Resposta da IA

Verificar a validade do formato (presença de @, domínio). Verificar o comprimento máximo do campo. Verificar o tratamento de caracteres especiais (!@#$%^&*()_+=-{}[]|\\:;"'<>,.?/~). Verificar a entrada de strings vazias e espaços. Verificar a entrada em cirílico. Verificar copiar/colar. Verificar o envio de formulários com emails válidos e inválidos. Verificar o funcionamento do placeholder. Verificar o estilo do campo em diferentes estados (foco, erro). Verificar a acessibilidade (por exemplo, com um leitor de ecrã). Verificar a visualização em diferentes dispositivos e navegadores.

Automatização: Usar expressões regulares para verificar o formato.

import re

def is_valid_email(email):
    # Expressão regular simples para exemplo
    pattern = r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
    return re.match(pattern, email) is not None

# Exemplo de uso
email1 = "test@example.com"
email2 = "invalid-email"
print(f"{email1}: {is_valid_email(email1)}")
print(f"{email2}: {is_valid_email(email2)}")

Usar frameworks de automação de UI (Selenium, Cypress) para interagir com o campo de entrada.

// Exemplo em Java com 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) {
        // Defina o caminho para o driver
        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
        WebDriver driver = new ChromeDriver();

        try {
            driver.get("http://your-website.com/form"); // Substitua pelo endereço da página com o formulário

            WebElement emailField = driver.findElement(By.id("email")); // Substitua pelo ID do seu campo

            // Teste com entrada válida
            emailField.sendKeys("valid.email@test.com");
            // Adicione verificação de que não aparece mensagem de erro

            // Teste com entrada inválida
            emailField.clear();
            emailField.sendKeys("invalid-email");
            // Adicione verificação de que aparece mensagem de erro

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