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$ 19 , 90 Pague com PayPal

O que você vai aprender?

Arquitetura de testes com Protractor
01 - Configurando o ambiente local
lock

Nesta primeira aula iremos:

- Clonar o projeto

- Instalar e inicializar o MongoDB

- Instalar as dependências do projeto

- Inicializar a aplicação no ambiente local de desenvolvimento

- Explorar a aplicação

- Executar os testes automatizados

Link do repositório: https://github.com/wlsf82/curso-tat-protractor

Usuários de sistema operacional Windows, após o clone do projeto leiam o documento do link abaixo antes de segui em frente:

Atualização de npm scripts em sistema operacional Windows

Video
Conteúdo da aula
Vídeo - 379 MB
02 - Estrutura do projeto de testes end-to-end
lock

Nesta aula iremos aprender sobre a estrutura básica para praticar a proposta de arquitetura de testes end-t0-end do curso.

Projeto exemplo demonstrando parte da arquitetura proposta no curso e sua inspiração

Video
Conteúdo da aula
Vídeo - 67,9 MB
03 - Configurações do Protractor
lock

Nesta aula iremos:

- Analisar o arquivo de criação das configurações default do Protractor

- Analisar os arquivos de configuração do Protractor específicos por navegador (Chrome e Firefox)

Documentação da Mozila sobre object.assign

Documentação oficial do Protractor

Usando Chrome headless

Usando Firefox headless

Video
Conteúdo da aula
Vídeo - 169 MB
04 - npm scripts para execução dos testes end-to-end
lock

Nesta aula iremos analisar npm scripts para execução de testes end-to-end com Protractor contra os navegadores Chrome e Firefox.

Documentação oficial sobre npm scripts

Video
Conteúdo da aula
Vídeo - 204 MB
05 - Dado/Quando/Então sem Cucumber
lock

Nesta aula iremos ver como é possível escrever testes end-to-end automatizados utilizando o framework Protractor, usando as palavras-chave Dado/Quando/Então sem a necessidade de usar o plugin do Cucumber.

Comparação entre testes escritos usando a sintaxe Gherkin versus testes usando a sintaxe do framework Jasmine, mas ambos utilizando as palavras-chave Dado/Quando/Então.

 

Video
Conteúdo da aula
Vídeo - 173 MB
06 - Arquivos .spec em detalhes
lock

Nesta aula iremos analisar a estrutura dos arquivos de teste (arquivos com a extensão .spec.js) e aprender sobre:

- A definição de bibliotecas externas

- A definição de Page Objects

- A definição de constantes (quando necessário)

- Instâncias de Page Objects

- Funções beforeEach

- Passos dos testes

Video
Conteúdo da aula
Vídeo - 340 MB
07 - Page Objects em detalhes
lock

Nesta aula iremos analisar os arquivos de Page Objects e entender sua estrutura:

- URL relativa

- instâncias de componentes

Projeto exemplo demonstrando parte da arquitetura proposta no curso e sua inspiração

Video
Conteúdo da aula
Vídeo - 208 MB
08 - Componentes em detalhes
lock

Nesta aula iremos analisar os arquivos de componentes e entender sua estrutura:

- Bibliotecas externas (quando aplicável)

- Definição de elementos

- Métodos (quando aplicável)

Video
Conteúdo da aula
Vídeo - 433 MB
09 - Relatórios HTML e no terminal
lock

Nesta aula iremos iremos:

- Aprender como gerar relatórios HTML após a execução dos testes com a biblioteca protractor-jasmine2-html-reporter

- Aprender como gerar relatórios legíveis no terminal com a biblioteca jasmine-spec-reporter, os quais podem ser úteis para execução de testes em ambientes de integração contínúa

Abaixo seguem os commits da refatoração explicada durante a aula, em um branch específico não mesclado ao branch master:

update html report config to clean directory before test execution

remove unnecessary step from e2e test scripts

Documentações citadas durante a aula:

Documentação da biblioteca protractor-jasmine2-html-reporter

Documentação da biblioteca jasmine-spec-reporter

Conteúdo relacionado (video):

Relatórios de testes do Protractor no GoCD

Video
Conteúdo da aula
Vídeo - 389 MB
10 - protractor-helper
lock

Nesta aula iremos aprender sobre a biblioteca protractor-helper para a criação de testes estáveis.

Documentação da biblioteca protractor-helper

Conteúdo relacionado:

Falsos negativos, falsos positivos, verdadeiros negativos e verdadeiros positivos

Video
Conteúdo da aula
Vídeo - 255 MB
11 - protractor-flake
lock

Nesta aula iremos aprender como re-executar possíveis flaky tests automaticamente utilizando a biblioteca protractor-flake para evitar resultados falso negativos.

Documentação da biblioteca protractor-flake

Conteúdos relacionados:

Seriam os testes de UI flaky por natureza?

A importância de lidar com testes flaky

Video
Conteúdo da aula
Vídeo - 178 MB
12 - Refatoração de mensagens de commit
lock

Nesta aula iremos:

- Entender a importância da refatoração de testes end-to-end para que seja possível manter tais testes ao longo da vida do projeto

- Entender a importância de mensagens de commit descritivas

Conteúdos relacionados:

Texto do Martin Fowler sobre refatoração

Boas práticas para a escrita de mensagens de commit

Video
Conteúdo da aula
Vídeo - 286 MB
Fechamento
lock

Resumo do curso

Video
Conteúdo da aula
Vídeo - 55,3 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:

- Curso introdutório de testes automatizados
- Conhecimentos básicos de HTML e seletores CSS (sugestão: curso grátis de HTML e CSS no Codecademy)
- Conhecimentos básicos de JavaScript (sugestão: curso grátis de Javascript no Codecademy)
- Conhecimentos básicos de linha de comando (sugestão: curso grátis de linha de comando no Codecademy)
- Conhecimentos básicos de git (sugestão: curso grátis de git no Codecademy)
- git instalado no ambiente local
- Node.js(8.11.1), NPM (6.0.0) e MongoDB instalados no ambiente local (passo-a-passo para instalação do MongoDB em ambientes Windows e OSX)
- Conhecimentos básicos de NPM (Node Package Manager)

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, skatista, blogger, escritor, Youtuber e apaixonado por tecnologia

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, 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-filho.com

GitHub: wlsf82

Twitter: @walmyrlimaesilv

Depoimentos

"Quero agradecer e elogiar todo o conteúdo do curso de "Arquitetura de Testes com Protractor" ministrado por Walmyr Filho. Eu 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". Walmyr Filho 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."

Thumb nav img bug

"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!"

Thumb 0

"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."

Thumb aibeiaiaaabeco t6jc5zoe7pweic3zjyxjkx3bob3rvkigzmwu4zje4mzi2mzhky2rmmte5zgyymjvkngm0nmq1zge3ymuwyta4mahzg rvz3dwffurmxh8qh4ochm5xg

"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."

Thumb 0 4

Escola Talking About Testing

Aprenda sobre teste de software online
Tecnologia
Tec coursify