Por que escolhemos o Cypress para automação End to End?

Tamara Fontanella
Serasa
Published in
3 min readApr 13, 2022

O Cypress é um framework Open Source poderoso que utiliza o Node como servidor e interpretador da linguagem de programação JavaScript. A ferramenta foi criada para execução de testes End to End nas aplicações e já é a queridinha dos testers que trabalham com automação de testes GUI (Graphical User Interface).

Antes de escolhermos o Cypress como nossa ferramenta de automação de testes GUI, utilizávamos o WebDriverIO, um framework Open Source que também faz uso do Node e JavaScript. O WebDriverIO é uma ferramenta ótima, principalmente por prestar suporte a aplicações Web e Mobile ao mesmo tempo, reduzindo o tempo na construção da arquitetura e cenários de teste.

Por aqui enfrentamos muitos problemas na parte de interação com elementos e os testes viraram um verdadeiro pesadelo, havia Flaky Test por toda parte (essa é uma das maiores dores de quem automatiza testes).

Após várias tentativas frustadas utilizando o WebDriverIO como ferramenta End to End decidimos realizar uma POC com o Cypress.

Ok, mas quais foram as vantagens em trocar para o Cypress?

  • Facilidade na busca e seleção dos elementos

O Cypress possui um Runner que permite acompanhar em tempo real a execução de teste, possibilitando debugar e encontrar problemas, analisar logs e identificar elementos. O selector playground é o responsável pela identificação de elementos e eu diria que é um belo facilitador (quem já inspecionou elementos por meio do browser vai entender).

O framework possui outra funcionalidade bem bacana: por padrão espera os elementos ficarem visíveis para interagir e também aguarda automaticamente requisições e animações acabarem para então seguir com os testes, tornando a execução mais fluída e com menos linhas de código.

  • Comunidade Ativa

Está com dúvida na utilização da ferramenta ou encontrou um erro e não sabe como solucioná-lo? Você pode entrar em contato pelo chat fornecido pelo Cypress. Lá é possível conversar diretamente com vários usuários da ferramenta e com certeza alguém estará disponível para ajudar.

Link do chat: https://gitter.im/cypress-io/cypress

  • Cursos de fácil acesso

A curva de aprendizado na utilização da ferramenta foi bem menor, visto que já existem vários cursos sobre o Cypress e principalmente em português, removendo a barreira linguística.

Você consegue encontrar inúmeros cursos com preços acessíveis na Udemy e com poucas horas de aula sair criando e executando testes.

  • Profissionais no mercado

Não existe algo pior do que trabalhar com uma tecnologia que nenhum profissional no mercado conhece. Há um esforço em capacitar este profissional e consequentemente uma curva de aprendizado. Se já existem profissionais no mercado com tal conhecimento, melhor ainda.

Em uma busca rápida no LinkedIn, vemos que 367 vagas no Brasil pedem conhecimento em Cypress, perdendo apenas para o Selenium, com 937 vagas (possivelmente estas vagas são para Java, mas quem gosta de trabalhar com Java não é mesmo?!).

  • Atualizações frequentes no framework

Encontrou um bug no framework ou sentiu a necessidade de algo a mais nele? Tenho certeza que você encontrará issues abertas para o Cypress contemplá-las.

Quanto mais uma ferramenta é utilizada, mais atualizações ela recebe devido à alta demanda do mercado. Isso é ótimo, já que o perigo de se tornar obsoleta reduz drasticamente e o framework continuará seguindo e atendendo as novas tecnologias do mercado.

Então eu devo trocar minha ferramenta de automação End to End para o Cypress?

Com certeza não! Você deve avaliar as necessidades da sua aplicação e o que se espera da ferramenta de automação. Faça estudos entre as ferramentas e identifique qual se destaca para então adotar como padrão o novo framework. Pergunte-se sempre qual problema você deseja solucionar e trabalhe em cima disso. Lembre-se, a ferramenta precisa se encaixar à realidade da sua empresa e dos seus times, não o contrário.

--

--

Tamara Fontanella
Serasa
Writer for

Amante de plantas, cachorros e manualidade. Entusiasta no campo da qualidade de software. Atualmente sou Tech Lead QA na Serasa.