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();
}
}
}