What you'll learn:
- Criar um projeto de testes automatizados em JAVA para aplicações Web do ZERO.
- Utilizar o Selenium IDE, conhecendo suas limitações
- Criar testes automatizados utilizando o Selenium WebDriver
- Interagir com os elementos básicos dos formulários HTML
- Interagir com elementos mais complexos, como: Alerts, Frames e PopUps
- Organizar os códigos tornando-os mais legíveis, reusáveis e fáceis de manter
- Entender a forma de localizar elementos na tela e criar xpaths mais robustos
- Estratégias para sincronizar o teste com o fluxo da aplicação
- Criar um Framework para estruturar seus testes e garantir várias funcionalidades extras sem muito esforço
- Estratégias para fazer um gerenciamento das massas de dados utilizadas nos testes
- Executar os testes em paralelo (e os cuidados que devemos tomar para a bateria continuar funcionando)
- Executar os testes remotamente, em diversas máquinas (inclusive, de sistemas operacionais distintos), utilizando o Selenium GRID
- Executar os testes na nuvem, utilizando os servidores da Saucelabs
Seja bem vindo ao curso de Testes Funcionais com Selenium WebDriver.
Nesse curso, irei te guiar passo a passo na criação de testes funcionais automatizados de aplicações Web. Não se preocupe, caso ainda seja um conceito novo para você, criaremos os testes desde o básico. Apesar das nossas implementações serem feitas em JAVA, podemos testar qualquer aplicação Web (HTML), independente da linguagem que ela fora criada.
O curso é 100% prático, onde trarei problemas, situações e os erros mais comuns que ocorrem no dia-a-dia, assim poderemos discutir sobre formas de como atuar em cada caso, tentando levantar os prós e contras de cada estratégia disponível.
O código de teste é tão importante quanto o código da aplicação, dessa forma, além das ferramentas e boas práticas, serão apresentadas técnicas e padrões que você pode utilizar para deixar o seu código mais enxuto e legível. Sem falar das manutenções dos testes que são tão constantes, pois bem, também tentaremos facilitar as manutenções necessárias, em alguns casos até poderemos reduzir também.
A nossa ferramenta principal será o Selenium WebDriver (já na versão 3), mas também veremos o Selenium IDE, para criarmos testes sem a necessidade de escrever códigos. Selenium GRID, para executar os testes remotamente; JUnit, para estruturar nossos testes; e o Eclipse, como IDE de desenvolvimento.
Foquei bastante em três pontos principais que são os maiores motivos de problemas nos testes funcionais: Localização de elementos, Sincronismo dos scripts e Massa de dados. Sobre eles, apresentarei alguns cenários e como podemos deixar nossos testes mais resilientes a tais instabilidades.
Durante o curso, criaremos um conjunto de métodos que facilitarão a criação dos testes. Também criaremos um framework que poderá ser utilizado para testar qualquer outra aplicação web. Esse framework possui diversas funcionalidades nativas como:
- Screenshot ao final de cada teste;
- Chaveamento sobre qual browser utilizar
- DSL herdada nos testes
- Organização dos testes com PageObject
- Execução em GRID
- Execução na Nuvem
Nas fases iniciais do curso, usaremos uma página simples (Campo de Treinamento) para podermos forcar nos fundamentos do framework. Mais a frente, teremos um módulo exclusivo para testar uma aplicação real, trazendo alguns cenários importantes como autenticação e gerenciamento de massa de dados.
Material validado ao longo de 7 anos de aulas presenciais em empresas e turmas de especialização.
Ao final desse curso, você terá uma boa base para desenvolver seus testes e poder executá-los em diversos browsers (Firefox, Chrome, Internet Explorer) e sistemas operacionais (Windows, Linux, Mac), de forma sequencial ou paralela, você quem escolhe.