Aula 13 - Automação de Testes Web 🤖
🕸️ Por que automatizar a Web?
A automação de interfaces web (E2E - End-to-End) permite simular a jornada completa do usuário no navegador. Isso reduz drasticamente o tempo de testes de regressão em sistemas complexos.
[!IMPORTANT] A automação web deve focar nos caminhos críticos (Happy Path) do negócio.
🛠️ Ferramentas Populares
1. Selenium WebDriver
O veterano do mercado. Suporta múltiplas linguagens (Python, Java, C#) e navegadores. Baseia-se em um protocolo de comunicação com o driver do browser.
2. Playwright / Cypress
Ferramentas modernas que rodam "mais perto" do browser, oferecendo maior velocidade, estabilidade (auto-waiting) e recursos de depuração (Trace Viewer).
📍 Localizando Elementos (Locators)
Para o script interagir com a página, precisamos "achar" os elementos HTML. As melhores práticas recomendam usar (em ordem de prioridade): 1. ID: id="submit-button" 2. Name: name="email" 3. Data-attributes: data-testid="login-btn" (O favorito dos QAs!) 4. CSS Selector ou XPath (Use como última opção).
graph LR
A[Início do Script] --> B[Abrir Navegador]
B --> C[Navegar para URL]
C --> D[Localizar Elemento]
D --> E[Interagir: Click/Type]
E --> F[Validar Resultado: Assertion]
F --> G[Fechar Navegador] 💻 Automação no Terminal
📝 Exercício de Fixação
- O que é Flakiness (instabilidade) em testes automatizados e como ferramentas modernas como o Playwright ajudam a evitá-lo?
- Por que o uso de
data-testidé melhor do que usar classes CSS para localizar elementos em um teste?
🚀 Mini-Projeto
Objetivo: Escrever um script fictício (Pseudocódigo). - Cenário: Validar a busca de produtos no Google. - Escreva o passo a passo do script: 1. Qual URL abrir? 2. Qual o seletor do campo de busca? 3. O que digitar? 4. Como validar que a busca funcionou?
🔗 Materiais da Aula
-
Slides --- Material visual com diagramas e conceitos-chave. Slide 13
-
Quiz --- Teste seu conhecimento com 10 questões interativas. Quiz 13
-
Exercícios --- 5 exercícios progressivos (básico → desafio). Exercício 13
-
Projeto --- Aplicação prática dos conceitos da aula. Projeto 13