import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class InvalidLoginTest {
public static void main(String[] args) {
// Configurar o caminho do ChromeDriver (substitua pelo caminho correto)
System.setProperty(“webdriver.chrome.driver”, “caminho/para/chromedriver”);
// Criar uma instância do WebDriver (neste caso, Chrome)
WebDriver driver = new ChromeDriver();
try {
// 1. Acessar a página de login
driver.get(“https://example.com/login”); // Substitua pela URL da sua página de login
// 2. Localizar o campo de email ou username
WebElement emailField = driver.findElement(By.id(“email”)); // Substitua ‘email’ pelo ID do campo na sua página
emailField.sendKeys(“usuario_invalido@example.com”); // Email inválido
// 3. Localizar o campo de senha
WebElement passwordField = driver.findElement(By.id(“password”)); // Substitua ‘password’ pelo ID do campo
passwordField.sendKeys(“senhaIncorreta”); // Senha inválida
// 4. Clicar no botão de login
WebElement loginButton = driver.findElement(By.id(“loginButton”)); // Substitua ‘loginButton’ pelo ID do botão
loginButton.click();
// 5. Verificar se a mensagem de erro aparece
Thread.sleep(3000); // Aguarda a mensagem de erro ser exibida (use WebDriverWait para algo mais robusto)
WebElement errorMessage = driver.findElement(By.id(“errorMessage”)); // Substitua pelo ID ou seletor da mensagem de erro
if (errorMessage.isDisplayed() && errorMessage.getText().contains(“Credenciais inválidas”)) {
System.out.println(“Teste de login inválido bem-sucedido: mensagem de erro exibida.”);
} else {
System.out.println(“Teste falhou: mensagem de erro não exibida.”);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// Fechar o navegador
driver.quit();
}
}
}
Explicação do Código
- Preenchendo credenciais inválidas:
- Campos
emailField
epasswordField
recebem valores incorretos.
- Campos
- Mensagem de erro:
- O script verifica se uma mensagem de erro aparece após a tentativa de login com as credenciais inválidas.
- O elemento
errorMessage
é identificado pelo seletor correto, comoBy.id
.
- Validação:
- Verifica se a mensagem está visível e se contém o texto esperado, como
"Credenciais inválidas"
.
- Verifica se a mensagem está visível e se contém o texto esperado, como
- Tratamento de erros:
- Adiciona um bloco
try-catch
para capturar exceções e evitar que o programa termine inesperadamente.
- Adiciona um bloco
Dicas para Melhorias
- Uso de WebDriverWait: Substitua
Thread.sleep
peloWebDriverWait
para aguardar elementos dinamicamente: - Modularize o código: Crie métodos reutilizáveis para login e validação de mensagens de erro.
- Framework de testes: Utilize frameworks como JUnit ou TestNG para organizar e executar seus testes de forma mais eficiente.