Vale a pena utilizar o Cypress?
Introdução:
O Cypress é uma ferramenta para automação de testes de software lançada em 2014 que está sendo bastante utilizada em projetos no Brasil e no mundo.
É uma ferramenta amigável de fácil instalação e não necessita de nenhuma configuração inicial como outros ferramentas como o Selenium por exemplo.
O Cypress possibilita escrever testes rápidos e robustos que evitam os falsos positivos, como demoras de renderização de elementos na tela, problemas de lentidão na rede por exemplo.
Objetivo:
O intuito deste artigo, é auxiliar na escolha de uma ferramenta de automação de seus testes.
Experiência:
Conheci o Cypress através de uma conversa com um amigo em 2016 e através de uma prova de conceito iniciei um projeto para substituir o Selenium.
Depois deste primeiro contato, encontrei muitas vantagens comparado a outras ferramentas que utilizavam o Selenium como base.
Listarei algumas vantagens que pude notar com o tempo:
Instalação:
A instalação é feita utilizando apenas um comando “npm install cypress” e com isso uma gama de exemplos executáveis vem de brinde para te auxiliar no ponta pé inicial na criação do seu primeiro teste.
Simplicidade:
Por ser uma ferramenta moderna e simples, a curva de aprendizado é bem rápida. Basta ter um conhecimento básico em Javascript e noções de busca de seletores.
Tipos de testes automatizados suportados:
- Funcionais;
- Componentes e unidades;
- API (Application Programming Interface);
- Aplicativos móveis com Ionic.
- Regressão visual com Percy;
- Responsividade;
Documentação:
A documentação oficial é ampla e detalhada como bastante exemplos para facilitar o entendimento nas implementações.
Funcionalidades:
- Dashboard: é um serviço Cypress que dá acesso aos testes que você gravou efornece uma visão sobre o que aconteceu durante a execução de seus testes;
- Mock: é possível criar um mock da API, viabilizando o testes e2e sem o backend;
- Selector playground: ferramenta para capturar um elemento (ID, classe, botão, etc) no DOM (Document Object Model);
- Browser: opera dentro do navegador, o que torna as análises mais rápidas e assertivas;
- Depurabilidade: a ferramenta disponibiliza um modo debug chamado Time Travel dentro da própria interface, que permite uma análise mais direta e assertiva dos passos na execução do teste;
- Espera automática: o Cypress espera que os elementos existam, que os elementos parem de ser animados ou que as solicitações de rede específicas terminem antes de prosseguir.
Integração:
O Cypress permite integração com inúmeros plugins e ferramentas:
- Allure report: gerar relatórios e métricas de testes;
- Slack: gerar relatórios de testes;
- Percy: executar testes de regressão visual;
- Git: executar testes na esteira;
- Docker: executar testes em containers;
- Cucumber: criar cenários de testes com o Gherkin.
Comunidade:
Possui uma comunidade muito ativa e colaborativa que vem compartilhando muitos vídeos e cursos na internet, facilitando bastante o aprendizado de novos iniciantes nesta nova ferramenta.
Conclusão
Pelas experiências adquiridas nos projetos com automação, notei que o Cypress tem agregado muito valor, agilizando processos de escrita e manutenção de scripts.
É uma ferramenta simples com execuções rápidas e robustas, que cria testes assertivos e confiáveis.
Respondendo a pergunta no título… sim, vale muito a pena ter o Cypress como ferramenta de automação de teste nos projetos, visto as vantagens citadas acima.
…
Faça um teste com o Cypress, irá te surpreender, acredite!
…
Documentação oficial: https://www.cypress.io/