Arquitetura de testes com Protractor

Aprenda como escrever testes legíveis, estáveis e de fácil manutenção com o framework Protractor

Arquitetura de testes com Protractor Arquitetura de testes com... Arquitetura de testes... Escola Talking About Testing
R$ 54 , 99 Pague com PayPal

2 - Bootstrap do projeto de testes end-to-end

O que você vai aprender?

Arquitetura de testes com Protractor
1 - Uma nota sobre arquitetura de software Aula gratuita!

Nesta aula iremos abordar questões relacionadas a simplicidade, organização, legibilidade, reutilização, manutenção e evolução de software, para o desenvolvimento de uma arquitetura de testes automatizados sustentável.

Recomendação de leitura;

Arquitetura Limpa: o Guia do Artesão Para Estrutura e Design de Software, de Robert C. Martin

Video
Conteúdo da aula
Vídeo - 75,7 MB
2 - Bootstrap do projeto de testes end-to-end Aula gratuita!

Nesta aula iremos:

- Clonar um projeto git a partir do GitHub
- Inicializar um projeto Node.js
- Criar e editar o arquivo .gitignore
- Instalar o Protractor e outras dependências de desenvolvimento
- Estruturar os diretórios do projeto de testes end-to-end
- Navegar pela documentação oficial do Protractor (http://protractortest.org)

URL do projeto no GitHub: https://github.com/wlsf82/curso-protractor-tat.

Video
Conteúdo da aula
Vídeo - 233 MB
3 - Arquivos de configuração
lock

Nesta aula iremos criar o arquivo que gera a configuração padrão para a execução de testes automatizados com o framework Protractor, além de criar arquivos com configurações específicas para a execução dos testes em diferentes navegadores.

URL da aplicação que será testada: https://lit-chamber-61567.herokuapp.com

Referência da Mozilla MDN sobre o Object.assign

Video
Conteúdo da aula
Vídeo - 239 MB
4 - Scripts do arquivo package.json
lock

Nesta aula iremos criar scripts para a execução de análise estática de código (utilizando a biblioteca standardjs) e testes automatizados.

Video
Conteúdo da aula
Vídeo - 263 MB
5 - Criando o primeiro teste
lock

Nesta aula iremos criar o primeiro teste, passando pelo primeiro Page Object e o primeiro componente. Além disso, também será abordada a tipagem dos métodos do protractor-helper.

Documentação oficial do protractor-helper

Conteúdo relacionado: lançamento do protractor-helper versão 4.1.1

Video
Conteúdo da aula
Vídeo - 226 MB
6 - Testando a página de uma tag aleatória
lock

Nesta aula iremos criar um novo teste com seu respectivo Page Object e componente, além de criarmos uma função utilitária por questões de reutilização de código.

- Referência da Mozilla MDN da função Math.random

- Referência da Mozilla MDN da função Math.floor

Video
Conteúdo da aula
Vídeo - 233 MB
7 - Testando a página de uma destination aleatória
lock

Nesta aula iremos criar um novo teste com seu respectivo Page Object e componente, e iremos reaproveitar a função utilitária criada na aula anterior.

Video
Conteúdo da aula
Vídeo - 203 MB
8 - Testando a página de edição de uma destination aleatória
lock

Nesta aula iremos criar um novo teste, no qual seu Page Object é composto por múltiplos componentes.

Video
Conteúdo da aula
Vídeo - 237 MB
9 - Testando as validações em um formulário
lock

Nesta aula iremos evoluir a suite de testes criada na aula anterior para testar validações de um formulário.

Um novo conceito abordado nesta aula será a definição de um método para interação em um componente.

Video
Conteúdo da aula
Vídeo - 205 MB
10 - Testando a submissão de um formulário com sucesso
lock

Nesta aula iremos evoluir ainda mais a suite de testes da aula passada para testar a submissão de um formulário com sucesso, onde além de testar que os dados foram persistidos corretamente, testaremos o redirecionamento para a página correta.

Durante a aula o aluno será apresentado à biblioteca faker, utilizada para a geração de dados aleatórios para fins de testes.

Por fim, nesta aula iremos reutilizar o método de submissão do formulário, do componente form,criado na aula anterior.

Video
Conteúdo da aula
Vídeo - 226 MB
11 - Testando o header de uma página aleatória
lock

Nesta aula iremos testar o header de uma página aleatória da aplicação para fins de otimizar o tempo de execução dos testes.

Além disso, também iremos criar uma nova função utilitária.

Video
Conteúdo da aula
Vídeo - 219 MB
12 - Atalhos do VSCode para execução de scripts
lock

Nesta aula iremos explorar a funcionalidade do editor de código Visual Studio Code para a execução dos scripts definidos no arquivo package.json.

Video
Conteúdo da aula
Vídeo - 70,2 MB
13 - Simulando falhas
lock

Nesta aula iremos simular falhas em testes automatizados para analisar as mensagens de error fornecidas pela biblioteca protractor-helper.

Link relacionado: https://github.com/wlsf82/protractor-helper#example-of-a-test-failure-when-using-such-methods-as-expectations.

Video
Conteúdo da aula
Vídeo - 223 MB
14 - Integração contínua
lock

Nesta aula iremos colocar os scripts de análise estática de código e testes automatizados para rodar na integração contínua do GitHub (GitHub Actions).

Links da imagens mencionadas na aula:

- Imagem do Ubuntu 16.04.6 LTS no repositório do GitHub Actions

- Imagem do Ubuntu 18.04.4 LTS no repositório do GitHub Actions

Video
Conteúdo da aula
Vídeo - 286 MB
15 - Ajustes finais
lock

Nesta aula faremos alguns ajustes finais no arquivo package.json, além de criar uma documentação para o projeto de testes end-to-end, cobrindo questões como pré-requisitos, instalação das dependências, e execução dos testes propriamente ditos.

Video
Conteúdo da aula
Vídeo - 242 MB
16 - Revisão do projeto
lock

Nesta aula iremos revisar o projeto analisando sua estrutura de diretórios e arquivos e suas relações com uma arquitetura limpa. Além disso, iremos analisar algumas evoluções que podem ser feitas em um projeto com tal arquitetura.

Branch do projeto no GitHub com a solução final implementada durante o curso.

Branch do projeto no GitHub com uma evolução da solução final (nesta evolução, não demonstrada durante o curso, foi implementado um Page Object base, o qual implementa o método visit, além da instância do componente header. Os outros Page Objects são então estendidos a partir do Page Object base para a remoção de duplicação de código). Para mais detalhes, leia os seguintes commits (19792d2, 36ae57e, e 6a30a77).

Video
Conteúdo da aula
Vídeo - 149 MB

Escola Talking About Testing

Aprenda sobre teste de software online
Tecnologia
Tec coursify