Sobre o Curso

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
O

Sobre o Autor

Wagner Costa possui graduação em Ciências da Computação, Mestrado na área de previsão de séries temporais com Redes Neurais, ambas pela Universidade Estadual do Ceará (UECE). Trabalha com JAVA há mais de 10 anos, especificamente com testes há quase 9 anos. Também trabalha com desenvolvimento em aplicações Web, sempre com testes lhe dando suporte.

Conteúdo Programático

Capítulo 1. Introdução

Visão Geral do Curso     Visualizar Logado 05:02

Níveis de Teste 06:50

Pirâmide de testes 01:46

Importância da automação 06:03

Capítulo 2. Selenium IDE

O que é Selenium? 03:00

Montando o ambiente 01:41

Elementos Básicos 01:41

Record and Play 02:42

Selenese e Locators 03:28

Desafio: Testes da Conta 05:44

Suíte de testes 04:57

Sincronismo 07:03

Considerações 02:41

Exportando scripts 02:09

Capítulo 3. Selenium Webdriver

Selenium Webdriver 02:07

Montando o ambiente 06:14

Primeira execução     Visualizar Logado 05:37

JUnit 08:01

Executando no Chrome e Internet Explorer 05:15

Posição e tamanho do browser 04:08

Fechando o browser 02:16

Elementos básicos: Campo de treinamento 05:46

Elementos básicos: TextField e TextArea 12:21

Elementos básicos: Radio e Check 04:19

Elementos básicos: Combo 11:01

Elementos básicos: Combo de múltipla escolha 05:26

Elementos básicos: Botão 04:25

Elementos básicos: Link 05:35

Elementos básicos: Div e Span 13:43

Alert: Simples 06:50

Alert: Confirm 05:11

Alert: Prompt 03:40

Desafio: Cadastro com sucesso 15:12

Frames 07:04

Janela 06:27

WindowHandler 06:56

Desafio: Testar regras de negócio 11:26

Capítulo 4. Organização de código

Reúso de código 02:07

Before e After 09:20

DSL 18:29

DSL: Resultado 12:50

Page Objects, parte 1 04:50

Page Objects, parte 2 17:39

Testes Parametrizáveis 17:05

Suíte de testes 05:05

Capítulo 5. Javascript

Javascript 10:00

Scroll 11:11

Capítulo 6. Locators Avançado

Importância dos IDs 02:57

Plugins do firefox 03:50

Entendendo Xpath 04:35

Criando Xpath 15:25

Desafio: Encontre elementos com Xpath 13:35

Interação dinâmica com tabelas 34:20

Interação dinâmica com tabelas (continuação) 34:20

Voltando ao cadastro com sucesso 04:13

PrimeFaces 14:58

Desafio: Combo prime 13:19

Capítulo 7. Aplicando Sincronismo

Problema de sincronismo 06:26

Espera Fixa 03:36

Espera Implícita 05:13

Espera Explícita 03:15

Qual a melhor estratégia? 02:25

Ajax 13:27

Capítulo 8. Criando um Framework

Criando nosso próprio framework 01:27

Driver centralizado 14:01

Herança do comportamento 07:01

Reúso do browser 09:31

Screenshot ao final dos testes 10:55

Chaveamento de browser 03:13

Recapitulando as melhorias...     Visualizar Logado 04:02

Capítulo 9. Testando uma aplicação real

Extraindo o projeto básico 06:16

Testes a serem realizados 06:04

Login 09:39

Teste: Inserir Conta 09:45

Teste: Alterar Conta 13:27

Teste: Inserir conta com mesmo nome 03:52

Teste: Inserir movimentação 14:22

Teste: Campos obrigatórios na movimentação 11:26

Teste: Movimentação futura 12:31

Teste: Remover movimentação 08:48

Teste: Remover conta com movimentação 04:33

Teste: Saldo das contas 04:41

Teste: Resumo mensal 02:23

Gerenciamento de massa de dados, parte 1 04:02

Execução sequenciada 13:32

Acelerando a execução 11:37

Desafio: Teste do Resumo Mensal Vazio 11:55

Capítulo 10. Executando testes em paralelo

Paralelismo 02:54

Configurando o Maven 02:00

Execução em paralelo 06:14

Um driver por thread 08:34

Gerenciamento de massa de dados, parte 2 03:38

Easter Egg 05:53

Adaptando os testes para a nova estratégia 09:35

Resetando a massa de dados 06:59

Selenium GRID 05:41

Refatorando testes para usar o GRID 09:25

Preparando ambiente GRID: Windows 02:34

Preparando ambiente GRID: Linux 01:36

Preparando ambiente GRID: OSX 02:27

Execução remota dos testes     Visualizar Logado 04:23

Capítulo 11. Execução dos testes na nuvem

Saucelabs 02:11

Olhando para as nuvens 06:31

Fazendo mais execuções 08:31

Capítulo 12. Conclusão

Encerramento 01:02

Avaliações de nossos alunos

4.7

Avaliação média

  • (75%)
  • (25%)
  • (0%)
  • (0%)
  • (0%)

Comentários

  • avatar

    Diego Pereira Lima do Amaral

    Bem explicado e aulas motivantes;

  • avatar

    Thaise Araujo Dantas

    O material do curso é bom, Não tinha conhecimento prévio da ferramenta mas estou conseguindo aprender direitinho. Tive dificuldade em algumas aulas mas o professor atendeu as dúvidas prontamente. Recomendo

  • avatar

    Gilvan Junior N Goncalves

    Excelente!

  • avatar

    Ely Gonçalves