🤖 5.1 Introdução aos Testes de Sistema (Selenium 4)

Testar manualmente grandes fluxos de usuário é uma tarefa propensa a erros e extremamente cara. O Teste de Sistema (End-to-End) automatizado permite que o computador assuma o controle do navegador, simulando ações reais e validando a aplicação como uma “caixa preta”.

🏁 O WebDriver Moderno

No Selenium 4, a comunicação entre o script e o navegador é feita via protocolo W3C, garantindo maior estabilidade e performance.

📄 Exemplo Elite: Automação Crítica

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import io.github.bonigarcia.wdm.WebDriverManager;
 
public class TesteAutomatizado {
    public static void main(String[] args) {
        // ✅ Gerenciamento automático de binários (Driver)
        WebDriverManager.chromedriver().setup();
        WebDriver driver = new ChromeDriver();
 
        try {
            driver.get("https://www.google.com.br");
            var searchBox = driver.findElement(By.name("q"));
            searchBox.sendKeys("Premium Engineering Standards");
            searchBox.submit();
        } finally {
            // ✅ Garante o encerramento do processo
            driver.quit();
        }
    }
}

📊 A Anatomia do Robô

sequenceDiagram
    participant T as Script Java (JUnit 5)
    participant W as WebDriver (W3C)
    participant B as Browser (Chrome/Firefox)
    
    T->>W: driver.get(URL)
    W->>B: Navega e Renderiza
    T->>W: findElement(By)
    W->>B: Query no DOM
    T->>W: sendKeys() / click()
    W->>B: Evento de UI

A Regra da Regressão 🛡️

A cada nova funcionalidade, sua bateria de testes de sistema garante que o “caminho feliz” do usuário continua funcionando. É a sua rede de segurança contra bugs que poderiam parar o faturamento da empresa. 🏁


Dica de Ouro ⚡

Para evitar problemas de configuração local, utilize o WebDriverManager. Ele elimina a necessidade de baixar e apontar manualmente o caminho do chromedriver.exe. 🚀


⬅️ Capítulo Anterior | Próximo Capítulo ➡️