DEV Community

Diego Yuri
Diego Yuri

Posted on

Simplificando Testes: Por que Talvez Você Não Precise de Cucumber e Page Object ao testar usando Cypress

Explorando a relação entre Cypress, Cucumber (BDD) e PageObject

Olá! Eu sou o Yuri.

Hoje vamos discutir a interação entre Cypress, Cucumber (BDD) e PageObject no contexto de testes automatizados. Recentemente, tenho dedicado tempo para aprimorar meus conhecimentos em testes automatizados, especialmente no que diz respeito ao Cypress. Durante a formação que participei esse ano (FormaNT), adquiri uma base de conhecimento em Selenium, Cucumber e BDD. Inclusive, compartilhei essas experiências em um vídeo no meu canal, onde apresento um escopo de projeto relacionado a Cucumber: TDD e BDD: Como esses conceitos se relacionam com Testes de Software.

Ao explorar o Cypress, notei uma conexão direta entre Cypress e Selenium, uma ferramenta que já conhecia e havia utilizado com o Cucumber. Paralelamente, percebi que muitos dos conteudos de aprendizado que encontrei relacionado ao Cypress também enfatizavam e traziam o conceito de PageObject.

Enquanto buscava integrar o Cucumber ao Cypress, percebi que, embora o Cypress facilite muitas coisas, a introdução do PageObject tornava a implementação mais complexa. Isso me fez questionar a utilidade do PageObject em projetos que poderiam ser mais eficientes sem ele.

Durante essa jornada, Busquei conteudos que comentavam esse ponto que observei, e acabei encontrando uma live muito interessante, que me ajudou a contextualizar esse ponto. Você pode assisti-la aqui: Por que QAs usam Page Objects com Cypress?.

Com todo conhecimento adiquirido nessas pesquisas, cheguei a alguns entendimentos, e que gostaria de compartilha-los para que possamos refletir nos nossos conceitos de qualidade.

1. Cucumber com Cypress: É a combinação ideal?

Desde o início dos meus estudos com Cypress, considerei a implementação do Cucumber, pois o vejo como um excelente framework. No entanto, ao estudar o Cypress por si só, percebi que a utilização do Cucumber poderia ser redundante, uma vez que a estrutura do Cypress já permite uma diversificação eficiente dos cenários e contextos de teste. A integração do Cucumber dependerá do projeto e da importância dos passos definidos.

Em breve, vou compartilhar um vídeo demonstrando como integrar o Cucumber com o Cypress. No entanto, é fundamental avaliar se a utilização do Cucumber é realmente necessária, considerando as capacidades nativas do Cypress.

2. Utilização de PageObject

A utilização do PageObject, especialmente no contexto do Cypress, pode introduzir complexidade desnecessária. A própria ferramenta oferece funcionalidades, como Commands, que permitem a criação de funções chamadas apenas nos testes principais e podem ser reutilizadas conforme necessário. Em projetos extensos, é possível segmentar os Commands para áreas específicas, como Login ou Cadastro, seguindo o conceito de "Função-Teste" no ambiente Cypress.

3. Aprofundando o conhecimento: Application Actions

O blog do Cypress apresenta um artigo relevante sobre a relação
entre PageObject e uma abordagem baseada em Application Actions. Essa reflexão visa aprofundar o entendimento sobre as diferentes abordagens e incentivar uma revisão da forma como aplicamos esses conceitos. Ambas as abordagens são válidas, e a escolha entre usar ou não o PageObject deve ser orientada pelas necessidades específicas do projeto.
Compreender os conceitos da ferramenta, assim como a melhor forma de implementar, pode nos levar a um caminho no qual podemos decidir a utilização ou não tanto dos Application Actions quanto dos pageObjects
Voces podem ver o artigo para uma compreensão melhor a seguir Application Actions: Use Them Instead of Page Objects

Essas reflexões visam aprimorar nossos conceitos de qualidade e proporcionar uma visão mais clara sobre a implementação eficiente de testes automatizados. Fique atento para futuras discussões e compartilhamento de conhecimento!

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up