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$39,99 R$ 29 , 90 Pague com PayPal

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

Sobre o curso

Testes automatizados de GUI (Graphical User Interface) devem ser escritos com o mesmo cuidado que código de funcionalidades, portanto, devem ser legíveis, para que se entenda quais comportamentos cada testes está validando, estáveis, para que o time confie em seus resultados, e de fácil manutenção, para que possam evoluir ao longo da vida do software o qual eles suportam.

Neste curso você irá aprender como arquitetar um projeto de testes end-to-end automatizados com Protractor, onde legibilidade, estabilidade e manutenabilidade serão o principal foco.

Ao término deste curso você estará apto a implementar testes automatizados em projetos de software de forma eficiente e efetiva, seja em um projeto novo, ou mesmo na refatoração de projetos legado.

Pré-requisitos:

- Node.js (12.16.3) e NPM (6.14.5) instalados no computador
- Chrome (81.0.4044.138) e Firefox (76.0.1) instalados no computador
- git (2.26.2) instalado no computador

Recomendações:

- Conhecimentos básicos de HTML e seletores CSS
- Conhecimentos básicos de JavaScript
- Conhecimentos básicos de linha de comando
- Conhecimentos básicos de git
- Conhecimentos básicos de NPM

Obs.: 10% do valor pago pelo curso será doado à organização Patas Dadas, a qual tem a missão de resgatar animais em situação de abandono, proporcionando o atendimento veterinário necessário até estarem prontos para a adoção, buscando conscientizar a população da importância da adoção responsável.

Livro de Protractor:

Confira meu livro de Protractor publicado pela Editora Casa do Código.

Ou se preferir, confira a versão em Inglês, publicado de forma independente no Leanpub.

Saiba mais

Conheça o(a) professor(a)

Walmyr Filho

Engenheiro de software, embaixador do Cypress.io, skatista, blogger, escritor, YouTuber e...

Profissional de engenharia de software com foco em garantia da qualidade desde 2004, clean coder, autor do blog talkingabouttesting.com, autor do canal TalkingAboutTesting no YouTube, Embaixador do Cypress.io, autor do livro Protractor - Lições sobre testes end-to-end automatizados, publicado pela editora Casa do Código, mentor, mantenedor da biblioteca protractor-helper, ativo membro de comunidades de desenvolvimento de software, voluntário, coordenador e palestrante em eventos de tecnologia no Brasil e na Europa, e uma pessoa com sede de compartilhar conhecimento.

Website: walmyr.dev

GitHub: wlsf82

Twitter: @walmyrlimaesilv

Depoimentos

"Quero agradecer e elogiar todo o conteúdo do curso de "Arquitetura de Testes com Protractor" ministrado pelo Walmyr. Procurei por algum tempo um curso como este aparecer. Todos os cursos encontrados não tinham o custo e benefício disponibilizado pela "Talking About Testing". O Walmyr me enriqueceu com seus conteúdos e suas experiências, tudo muito seguro e convicto. Fiquei sem dúvidas e meus objetivos foram alcançados."

Nav img bug

"Um dos grandes diferenciais deste curso é a apresentação de um proposta de estrutura de testes que pode ser usada instantaneamente em seus projetos pessoais ou profissionais. O conteúdo do curso aborda detalhadamente cada arquivo e configuração necessária para a construção e execução do projeto. A disponibilização do código no GitHub e os materiais extras para leitura disponibilizados em cada lição complementam de forma exponencial a grade do curso."

0 4

"O curso de arquitetura de testes com Protractor foi de grande ajuda para o meu aperfeiçoamento em testes automatizados. Com a arquitetura proposta no curso eu pude simplificar os testes e consequentemente otimizar meu tempo de trabalho. A didática empregada também ficou muito clara e de fácil entendimento."

Aibeiaiaaabeco t6jc5zoe7pweic3zjyxjkx3bob3rvkigzmwu4zje4mzi2mzhky2rmmte5zgyymjvkngm0nmq1zge3ymuwyta4mahzg rvz3dwffurmxh8qh4ochm5xg

"O curso de arquitetura de testes com Protractor foi de grande ajuda para o meu entendimento, tanto com relação a como estruturar um projeto de testes, quanto para entender melhor como o Protractor funciona por si só. Com a arquitetura evidenciada no curso, imediatamente pude implementar e simplificar os testes em meu ambiente de trabalho e consequentemente otimizar a performance dos meus scripts. Recomendo à todos que desejam trabalhar com Protractor ou aos que atualmente já tem contato com a ferramenta!"

0

"Recomendo o curso de arquitetura de testes com Protractor, ministrado pelo Walmyr Filho. O curso é objetivo e direto ao ponto. Gostei muito da forma como ele organizou as aulas, construindo um passo-a-passo com dicas que certamente vão ajudar não só aquele que está iniciando, como também quem já tem alguma experiência, onde ao final do curso, estará apto a construir testes com um código limpo, organizado, com a utilização de Page Objects, faker e intregração contínua no GitHub. Parabéns pelo seu trabalho Walmyr!"

9da2bc72d1cd8e5730b36d318c14e817

Escola Talking About Testing

Aprenda sobre teste de software online
Tecnologia
Tec coursify