Testes funcionais com Selenium WebDriver: Do básico ao GRID
Desde o básico até criar um framework para rodar testes em paralelo via Selenium Grid e na nuvem com a Saucelabs.
What you will 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
Why take this course?
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.