Testes E2E em Cypress com JS

Nàtali Cabral
Nàtali CabralAnalista de Testes (Qa) em Dotz
Testes E2E em
Cypress com JS
● Mãe da Luíza
● Engenheira de Qualidade - Itaú
● Founder do QALadies
● Formada em Bacharel em Ciência da Computação
pela UNINOVE
● Apaixonada por Coordenação de Eventos e Palestras
● 11 anos de experiência em Desenvolvimento e 5 de
QA
I am Nàtali Cabral
Qaladies.com
É uma metodologia
utilizada para testar se o
fluxo de um aplicativo
está sendo executado
conforme o projeto do
início ao fim
É um forma de realizar
testes nas quais visam
provar o sistema de uma
forma mais completa
simulando o ambiente
real
O que é testes E2E ?
Como por exemplo
automatizar os testes
regresivos.
Na piramide de testes
Cypress a solução
para muitos problemas
“O Cypress.io é um framework de
testes automatizados end-to-end
usando JavaScript! Mas não vai
achando que é mais um framework
"modinha" que surgiu por aí, ele é
surpreendente porque suas
características e também pelo seu
principalmente mecanismo
. Vamos entender um pouco mais?
Para utilizar JS para fazer uma automação E2E,
tínhamos que escolher :
● Um framework como (mocka, Jasmine, JUnit)
● Uma biblioteca que faça uma boa integração
(Chai, Expect.js)
● Usar o Selenium para poder fazer a comunicação
com os elementos do DOM enviando comandos de
forma remota e isso tudo envelopado (wrapper)
pelo Protractor ou Webdriver, etc.
Antes do Cypress
…Resumindo o slide anterior
Cyprees faz tudo isso e muito mais sem Selenium.
O quanto
tudo isso é
custoso?
02Número de ferramentas a
ser utilizado
Curva de aprendizado
01
Sem limitação para aplicação
04Serialização de objeto
03
● É open source O/
● É executado no mesmo ciclo de execução da
aplicação
● Atrás do Cypress é um processo do servidor
Node.js
● O Cypress é o processo Node.js comunicam,
sincroniza e executa tarefas constantemente.
● Ter acesso a ambas as partes (back e front)
Arquitetura do
Cypress
● Testes em Javascript.
● Continuous Integration.
● Time Travel.
● Real time reloads.
● Automatic waiting.
● Spies, stubs e clocks.
● Controle do tráfego de rede.
● Screenshots e vídeos.
● Testar responsividade em web apps.
Principais pontos do
Cypress
… Como funciona
Hora da Automação O/
ViewPorts com Cypress
Teste a responsividade sem se preocupar
https://docs.cypress.io/api/commands/viewport.html#Arguments
Plugins do Cypress
https://docs.cypress.io/plugins/
Iniciando um projeto com Cypress
do zero
1. Crie um diretório
2. De npm init -y para criar seu package.json
3. Depois de npm install cypress --save
4. Npx cypress open
5. Veja os exemplos que o cypress já trás pronto para
você
Iniciando um projeto com Cypress
do zero
Fixtures: É onde seus mocks são armazenados podendo ser
utilizados em qualquer teste.
Integrations: Aqui é o diretório onde criará seus arquivos de
teste exemplo : app_spec.js ou .js .jsx .coffee .cjsx.
Plugins: Com eles é possível trocar, modificar ou estender o
comportamento interno do Cypress.
Support: Neste diretório é possível criar comandos que podem
ser executados dentro dos testes ou sobrescrever comandos já
existentes.
Exemplo de comandos:
- Comando para login ( Evitar duplicação de código)
- Comando para logout
Iniciando um projeto com Cypress
do zero
Materiais para estudo
https://docs.cypress.io/examples/examples/recipes.html#Fundamentals
https://bit.ly/2Y90rMK
https://testautomationu.applitools.com/cypress-tutorial/
THANKS!
/in/natali-cabral/
natalicabral95@gmail.co
m
github.com/naascabral/
medium.com/@Naascabr
al
1 de 22

Recomendados

Testes automatizados com Cypress por
Testes automatizados com CypressTestes automatizados com Cypress
Testes automatizados com CypressCOTIC-PROEG (UFPA)
831 visualizações19 slides
Como criar testes rápidos e robustos com Cypress por
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressWalmyr Lima e Silva Filho
884 visualizações24 slides
Why you should switch to Cypress for modern web testing? por
Why you should switch to Cypress for modern web testing?Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?Shivam Bharadwaj
1.1K visualizações22 slides
Automated testing with Cypress por
Automated testing with CypressAutomated testing with Cypress
Automated testing with CypressYong Shean Chong
639 visualizações44 slides
Progressive Web App Testing With Cypress.io por
Progressive Web App Testing With Cypress.ioProgressive Web App Testing With Cypress.io
Progressive Web App Testing With Cypress.ioKnoldus Inc.
348 visualizações20 slides
Cypress Testing.pptx por
Cypress Testing.pptxCypress Testing.pptx
Cypress Testing.pptxJasmeenShrestha
545 visualizações15 slides

Mais conteúdo relacionado

Mais procurados

Cypress first impressions por
Cypress first impressionsCypress first impressions
Cypress first impressionsHans Emmel
220 visualizações9 slides
Cypress Automation por
Cypress  AutomationCypress  Automation
Cypress AutomationSusantha Pathirana
2.9K visualizações12 slides
End to end test automation with cypress por
End to end test automation with cypressEnd to end test automation with cypress
End to end test automation with cypressPankajSingh184960
310 visualizações15 slides
Introduction to Integration Testing With Cypress por
Introduction to Integration Testing With CypressIntroduction to Integration Testing With Cypress
Introduction to Integration Testing With CypressErez Cohen
480 visualizações17 slides
Solucionando a Teoria do Caos com Cypress.io por
Solucionando a Teoria do Caos com Cypress.ioSolucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioPatrick Monteiro
178 visualizações56 slides
Cypress - Best Practices por
Cypress - Best PracticesCypress - Best Practices
Cypress - Best PracticesBrian Mann
4.1K visualizações60 slides

Mais procurados(20)

Cypress first impressions por Hans Emmel
Cypress first impressionsCypress first impressions
Cypress first impressions
Hans Emmel220 visualizações
Cypress Automation por Susantha Pathirana
Cypress  AutomationCypress  Automation
Cypress Automation
Susantha Pathirana2.9K visualizações
End to end test automation with cypress por PankajSingh184960
End to end test automation with cypressEnd to end test automation with cypress
End to end test automation with cypress
PankajSingh184960310 visualizações
Introduction to Integration Testing With Cypress por Erez Cohen
Introduction to Integration Testing With CypressIntroduction to Integration Testing With Cypress
Introduction to Integration Testing With Cypress
Erez Cohen480 visualizações
Solucionando a Teoria do Caos com Cypress.io por Patrick Monteiro
Solucionando a Teoria do Caos com Cypress.ioSolucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.io
Patrick Monteiro178 visualizações
Cypress - Best Practices por Brian Mann
Cypress - Best PracticesCypress - Best Practices
Cypress - Best Practices
Brian Mann4.1K visualizações
API Testing. Streamline your testing process. por Andrey Oleynik
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.
Andrey Oleynik793 visualizações
Cypress e2e automation testing - day1 intor by: Hassan Hameed por Hassan Muhammad
Cypress e2e automation testing -  day1 intor by: Hassan HameedCypress e2e automation testing -  day1 intor by: Hassan Hameed
Cypress e2e automation testing - day1 intor by: Hassan Hameed
Hassan Muhammad403 visualizações
Robot Framework Introduction & Sauce Labs Integration por Sauce Labs
Robot Framework Introduction & Sauce Labs IntegrationRobot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs Integration
Sauce Labs10.9K visualizações
4 Major Advantages of API Testing por QASource
4 Major Advantages of API Testing4 Major Advantages of API Testing
4 Major Advantages of API Testing
QASource8K visualizações
Automação de Teste em Front End - Caipira Ágil por Elias Nogueira
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
Elias Nogueira2.6K visualizações
Criando uma arquitetura para seus testes de API com RestAssured por Elias Nogueira
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssured
Elias Nogueira2.3K visualizações
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p... por Elias Nogueira
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Elias Nogueira1.2K visualizações
e2e testing with cypress por Tomasz Bak
e2e testing with cypresse2e testing with cypress
e2e testing with cypress
Tomasz Bak3.7K visualizações
How to Get Started with Cypress por Applitools
How to Get Started with CypressHow to Get Started with Cypress
How to Get Started with Cypress
Applitools2.8K visualizações
Agile Testing and Test Automation por Naveen Kumar Singh
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
Naveen Kumar Singh1.2K visualizações
Agile Testing Strategy por tharindakasun
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
tharindakasun73.6K visualizações
Como criar e executar testes paralelos web usando Selenium e containers por Elias Nogueira
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containers
Elias Nogueira3.5K visualizações

Similar a Testes E2E em Cypress com JS

Testes automatizados end-to-end com WordPress por Fabio Nas por
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasWordCamp Floripa
434 visualizações26 slides
Test day 2012 por
Test day 2012Test day 2012
Test day 2012Wellington Marion
439 visualizações28 slides
Implementando Implementando eXtreme treme Programming rogramming em em Java Java por
Implementando Implementando eXtreme treme Programming rogramming em em Java JavaImplementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java Javaelliando dias
739 visualizações87 slides
Testes com TestLink e Selenium por
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e SeleniumAndré Thiago
6.4K visualizações86 slides
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta por
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontatdc-globalcode
607 visualizações21 slides
Quebrando barreiras entre desenvolvimento e operação de software com DevOps por
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
1.4K visualizações79 slides

Similar a Testes E2E em Cypress com JS(20)

Testes automatizados end-to-end com WordPress por Fabio Nas por WordCamp Floripa
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio Nas
WordCamp Floripa434 visualizações
Test day 2012 por Wellington Marion
Test day 2012Test day 2012
Test day 2012
Wellington Marion439 visualizações
Implementando Implementando eXtreme treme Programming rogramming em em Java Java por elliando dias
Implementando Implementando eXtreme treme Programming rogramming em em Java JavaImplementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
elliando dias739 visualizações
Testes com TestLink e Selenium por André Thiago
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e Selenium
André Thiago6.4K visualizações
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta por tdc-globalcode
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
tdc-globalcode607 visualizações
Quebrando barreiras entre desenvolvimento e operação de software com DevOps por José Alexandre Macedo
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
José Alexandre Macedo1.4K visualizações
Por que automatizar testes de software? por Samuel Lourenço
Por que automatizar testes de software?Por que automatizar testes de software?
Por que automatizar testes de software?
Samuel Lourenço770 visualizações
Desenvolvimento Guiado por Testes por elliando dias
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
elliando dias449 visualizações
Desenvolvimento em .Net - Testes Unitários por Vitor Silva
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes Unitários
Vitor Silva1.4K visualizações
Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic... por Stefan Teixeira
Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...
Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...
Stefan Teixeira973 visualizações
Testes de Unidade com Junit por cejug
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
cejug2.8K visualizações
Introdução a testes automatizados por Thiago Ghisi
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
Thiago Ghisi5.5K visualizações
Qualidade de software com Visual Studio ALM por Adriano Bertucci
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
Adriano Bertucci1.4K visualizações
Qualidade no desenvolvimento de Software com TDD e PHPUnit por Domingos Teruel
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Domingos Teruel2.1K visualizações
MoT-RJ: Identificando mudanças com snapshots teste - Ana Izabel por Lucas Fraga
MoT-RJ: Identificando mudanças com snapshots teste - Ana IzabelMoT-RJ: Identificando mudanças com snapshots teste - Ana Izabel
MoT-RJ: Identificando mudanças com snapshots teste - Ana Izabel
Lucas Fraga70 visualizações
Cypress-CPGOIAS-2023 por GilsonTerra2
Cypress-CPGOIAS-2023Cypress-CPGOIAS-2023
Cypress-CPGOIAS-2023
GilsonTerra28 visualizações
DevOps na AWS: Construindo Sistemas para Entregas Rápidas por Amazon Web Services LATAM
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
Amazon Web Services LATAM544 visualizações
Xamarin UI Test + BDD Specflow por Cleiton Felipe Moraes
Xamarin UI Test + BDD SpecflowXamarin UI Test + BDD Specflow
Xamarin UI Test + BDD Specflow
Cleiton Felipe Moraes172 visualizações
JUnit Experience por Renan Uchôa
JUnit ExperienceJUnit Experience
JUnit Experience
Renan Uchôa1.5K visualizações
Testes unitários e Mocks por Frederico Belisario
Testes unitários e MocksTestes unitários e Mocks
Testes unitários e Mocks
Frederico Belisario294 visualizações

Último

certificado excel.pdf por
certificado excel.pdfcertificado excel.pdf
certificado excel.pdfjuniorcarvalho136
5 visualizações1 slide
TechConnection 2023 Floripa Azure Container Apps por
TechConnection 2023 Floripa Azure Container AppsTechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container AppsWalter Coan
5 visualizações14 slides
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023 por
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023MAPA - CONTABILIDADE EMPRESARIAL - 54/2023
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023AcademiaDL
89 visualizações4 slides
DevFest2023-Pragmatismo da Internet das Coisas por
DevFest2023-Pragmatismo da Internet das CoisasDevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das CoisasWalter Coan
24 visualizações40 slides
Conheça agora o UiPath Autopilot™ para o Studio.pdf por
Conheça agora o UiPath Autopilot™ para o Studio.pdfConheça agora o UiPath Autopilot™ para o Studio.pdf
Conheça agora o UiPath Autopilot™ para o Studio.pdfBrunaCavalcanti29
14 visualizações8 slides
Skills e Squads, como trabalhar? por
Skills e Squads, como trabalhar?Skills e Squads, como trabalhar?
Skills e Squads, como trabalhar?Annelise Gripp
32 visualizações13 slides

Último(10)

certificado excel.pdf por juniorcarvalho136
certificado excel.pdfcertificado excel.pdf
certificado excel.pdf
juniorcarvalho1365 visualizações
TechConnection 2023 Floripa Azure Container Apps por Walter Coan
TechConnection 2023 Floripa Azure Container AppsTechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container Apps
Walter Coan5 visualizações
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023 por AcademiaDL
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023MAPA - CONTABILIDADE EMPRESARIAL - 54/2023
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023
AcademiaDL89 visualizações
DevFest2023-Pragmatismo da Internet das Coisas por Walter Coan
DevFest2023-Pragmatismo da Internet das CoisasDevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das Coisas
Walter Coan24 visualizações
Conheça agora o UiPath Autopilot™ para o Studio.pdf por BrunaCavalcanti29
Conheça agora o UiPath Autopilot™ para o Studio.pdfConheça agora o UiPath Autopilot™ para o Studio.pdf
Conheça agora o UiPath Autopilot™ para o Studio.pdf
BrunaCavalcanti2914 visualizações
Skills e Squads, como trabalhar? por Annelise Gripp
Skills e Squads, como trabalhar?Skills e Squads, como trabalhar?
Skills e Squads, como trabalhar?
Annelise Gripp32 visualizações
Shift left DevOps Experience por Walter Coan
Shift left DevOps ExperienceShift left DevOps Experience
Shift left DevOps Experience
Walter Coan5 visualizações
ProxySQL no MySQL: Apenas um load balancer? por Roberto Garcia de Bem
ProxySQL no MySQL: Apenas um load balancer?ProxySQL no MySQL: Apenas um load balancer?
ProxySQL no MySQL: Apenas um load balancer?
Roberto Garcia de Bem6 visualizações
VIRTUS 1.6 MSI.pdf por FbioVieira85
VIRTUS 1.6 MSI.pdfVIRTUS 1.6 MSI.pdf
VIRTUS 1.6 MSI.pdf
FbioVieira855 visualizações
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023 por AcademicaDlaUnicesum
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023
AcademicaDlaUnicesum6 visualizações

Testes E2E em Cypress com JS

  • 2. ● Mãe da Luíza ● Engenheira de Qualidade - Itaú ● Founder do QALadies ● Formada em Bacharel em Ciência da Computação pela UNINOVE ● Apaixonada por Coordenação de Eventos e Palestras ● 11 anos de experiência em Desenvolvimento e 5 de QA I am Nàtali Cabral
  • 4. É uma metodologia utilizada para testar se o fluxo de um aplicativo está sendo executado conforme o projeto do início ao fim É um forma de realizar testes nas quais visam provar o sistema de uma forma mais completa simulando o ambiente real O que é testes E2E ? Como por exemplo automatizar os testes regresivos.
  • 5. Na piramide de testes
  • 6. Cypress a solução para muitos problemas
  • 7. “O Cypress.io é um framework de testes automatizados end-to-end usando JavaScript! Mas não vai achando que é mais um framework "modinha" que surgiu por aí, ele é surpreendente porque suas características e também pelo seu principalmente mecanismo . Vamos entender um pouco mais?
  • 8. Para utilizar JS para fazer uma automação E2E, tínhamos que escolher : ● Um framework como (mocka, Jasmine, JUnit) ● Uma biblioteca que faça uma boa integração (Chai, Expect.js) ● Usar o Selenium para poder fazer a comunicação com os elementos do DOM enviando comandos de forma remota e isso tudo envelopado (wrapper) pelo Protractor ou Webdriver, etc. Antes do Cypress
  • 9. …Resumindo o slide anterior Cyprees faz tudo isso e muito mais sem Selenium.
  • 10. O quanto tudo isso é custoso?
  • 11. 02Número de ferramentas a ser utilizado Curva de aprendizado 01 Sem limitação para aplicação 04Serialização de objeto 03
  • 12. ● É open source O/ ● É executado no mesmo ciclo de execução da aplicação ● Atrás do Cypress é um processo do servidor Node.js ● O Cypress é o processo Node.js comunicam, sincroniza e executa tarefas constantemente. ● Ter acesso a ambas as partes (back e front) Arquitetura do Cypress
  • 13. ● Testes em Javascript. ● Continuous Integration. ● Time Travel. ● Real time reloads. ● Automatic waiting. ● Spies, stubs e clocks. ● Controle do tráfego de rede. ● Screenshots e vídeos. ● Testar responsividade em web apps. Principais pontos do Cypress
  • 16. ViewPorts com Cypress Teste a responsividade sem se preocupar https://docs.cypress.io/api/commands/viewport.html#Arguments
  • 18. Iniciando um projeto com Cypress do zero 1. Crie um diretório 2. De npm init -y para criar seu package.json 3. Depois de npm install cypress --save 4. Npx cypress open 5. Veja os exemplos que o cypress já trás pronto para você
  • 19. Iniciando um projeto com Cypress do zero Fixtures: É onde seus mocks são armazenados podendo ser utilizados em qualquer teste. Integrations: Aqui é o diretório onde criará seus arquivos de teste exemplo : app_spec.js ou .js .jsx .coffee .cjsx. Plugins: Com eles é possível trocar, modificar ou estender o comportamento interno do Cypress. Support: Neste diretório é possível criar comandos que podem ser executados dentro dos testes ou sobrescrever comandos já existentes. Exemplo de comandos: - Comando para login ( Evitar duplicação de código) - Comando para logout
  • 20. Iniciando um projeto com Cypress do zero