SlideShare a Scribd company logo
1 of 21
Download to read offline
C y p r e s s . i o
e e n i n t r o d u c t i e
Christian Bos | 25–11– 2020
Even voorstellen…
Christian Bos
Test automation developer
• 3+ jaar bij Immune-it
• > 10 jaar bij Sogeti
• Test automation specialist && trainer
• Java && Python developer
• (Agile) coach && test specialist
Test automation pyramid
Typische Selenium errors
Selenium architectuur
Selenium
• roept SUT extern aan
• synchronisatie-issues
• meerdere browsers (webdrivers)
• meerdere talen worden ondersteund
• goede ondersteuning voor tabs en
iframes
• doelgroep primair testers
Cypress
• draait script en SUT in browser
• synchronisatie automatisch
• browsers meegeleverd in installatie
• alleen JavaScript wordt ondersteund
• beperkte ondersteuning voor tabs en
iframes
• doelgroep primair ontwikkelaars
Selenium vs. Cypress
Cypress.io
Cypress features
Ondersteunde browsers
Cypress…
• Node.js
• npm (node package manager)
• npx (node package runner)
• Mocha framework
• Chai assertions
Installatie Cypress
1. Maak een nieuwe folder aan en initialiseer deze
• npm init –y (hiermee wordt package.json aangemaakt)
2. Installeer Cypress lokaal in de folder
• npm install cypress
Installatie Cypress
1. Maak een nieuwe folder aan en initialiseer deze
• npm init –y (hiermee wordt package.json aangemaakt)
2. Installeer Cypress lokaal in de folder
• npm install cypress
3. Open de Cypress testrunner
• npx cypress open
(bestanden worden uitgepakt)
Testcases in Cypress (Mocha)
Suite level
• describe()
• context()
Test level
• it()
• specify()
URL related commands
• cy.visit()
• cy.reload()
• cy.title()
• cy.url()
Element locators (CSS)
• cy.get()
• cy.contains()
Element interactie
• .clear()
• .type()
• .click()
• .check()
• .uncheck()
• .select()
Special keys
Assertions
• .should()
Setup & teardown (Mocha hooks)
Suite level
• before()
• after()
Test level
• beforeEach()
• afterEach()
Mocha features
• Je kunt aangeven welke testcases je (niet) wilt uitvoeren:
Page object model (POM)

More Related Content

What's hot

Rf meetup 25feb2020 robo_con
Rf meetup 25feb2020 robo_conRf meetup 25feb2020 robo_con
Rf meetup 25feb2020 robo_conchristiantester
 
Digipinguins: containers en virtualisatie (Ghlen Nagels - youngsource.be)
Digipinguins: containers en virtualisatie (Ghlen Nagels - youngsource.be)Digipinguins: containers en virtualisatie (Ghlen Nagels - youngsource.be)
Digipinguins: containers en virtualisatie (Ghlen Nagels - youngsource.be)Avansa Mid- en Zuidwest
 
Deployment strategieën, WP Meetup Enschede, 26-02-2015
Deployment strategieën, WP Meetup Enschede, 26-02-2015Deployment strategieën, WP Meetup Enschede, 26-02-2015
Deployment strategieën, WP Meetup Enschede, 26-02-2015Arjan Snaterse
 
De 10 geboden van WordPress Development
De 10 geboden van WordPress DevelopmentDe 10 geboden van WordPress Development
De 10 geboden van WordPress DevelopmentFloris Lof
 

What's hot (8)

Robocon @ Immune-it
Robocon @ Immune-itRobocon @ Immune-it
Robocon @ Immune-it
 
Rf meetup 25feb2020 robo_con
Rf meetup 25feb2020 robo_conRf meetup 25feb2020 robo_con
Rf meetup 25feb2020 robo_con
 
Vagrant + ansible vs docker
Vagrant + ansible vs dockerVagrant + ansible vs docker
Vagrant + ansible vs docker
 
Unleash the power of raven db
Unleash the power of raven dbUnleash the power of raven db
Unleash the power of raven db
 
Digipinguins: containers en virtualisatie (Ghlen Nagels - youngsource.be)
Digipinguins: containers en virtualisatie (Ghlen Nagels - youngsource.be)Digipinguins: containers en virtualisatie (Ghlen Nagels - youngsource.be)
Digipinguins: containers en virtualisatie (Ghlen Nagels - youngsource.be)
 
Deployment strategieën, WP Meetup Enschede, 26-02-2015
Deployment strategieën, WP Meetup Enschede, 26-02-2015Deployment strategieën, WP Meetup Enschede, 26-02-2015
Deployment strategieën, WP Meetup Enschede, 26-02-2015
 
WordPress Security
WordPress SecurityWordPress Security
WordPress Security
 
De 10 geboden van WordPress Development
De 10 geboden van WordPress DevelopmentDe 10 geboden van WordPress Development
De 10 geboden van WordPress Development
 

Similar to Cypress meetup v2

Robot framework en ci v2
Robot framework en ci v2Robot framework en ci v2
Robot framework en ci v2christiantester
 
Page experience de nieuwe ranking factor voor seo
Page experience de nieuwe ranking factor voor seoPage experience de nieuwe ranking factor voor seo
Page experience de nieuwe ranking factor voor seovalantic NL
 
Meetup DB testing met SoapUI en Robot Framework.pdf
Meetup DB testing met SoapUI en Robot Framework.pdfMeetup DB testing met SoapUI en Robot Framework.pdf
Meetup DB testing met SoapUI en Robot Framework.pdfchristiantester
 
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en FluidTYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en FluidTYPO3 Nederland
 
PFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele testsPFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele testsRichard Tuin
 
Workshop: Introductie tot Python
Workshop: Introductie tot PythonWorkshop: Introductie tot Python
Workshop: Introductie tot PythonVincent Claes
 
Projectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdamProjectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdamBert Boerland
 
Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014
Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014
Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014Luuk Danes
 
Node.js: waarom en hoe
Node.js: waarom en hoeNode.js: waarom en hoe
Node.js: waarom en hoeFrank Louwers
 
embedded Linux, van Black Tot QA
embedded Linux, van Black Tot QAembedded Linux, van Black Tot QA
embedded Linux, van Black Tot QAAlbert Mietus
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleJeroen Reijn
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleSjoerd Hemminga
 
Web applicatie van scratch
Web applicatie van scratchWeb applicatie van scratch
Web applicatie van scratchHanzehogeschool
 
TYPO3 Congres 2012 - Introductie werken met CSS preprocessors
TYPO3 Congres 2012 - Introductie werken met CSS preprocessorsTYPO3 Congres 2012 - Introductie werken met CSS preprocessors
TYPO3 Congres 2012 - Introductie werken met CSS preprocessorsTYPO3 Nederland
 
'Op weg naar een flexibele totaaloplossing voor digitaal toetsen'- Bé Meerman...
'Op weg naar een flexibele totaaloplossing voor digitaal toetsen'- Bé Meerman...'Op weg naar een flexibele totaaloplossing voor digitaal toetsen'- Bé Meerman...
'Op weg naar een flexibele totaaloplossing voor digitaal toetsen'- Bé Meerman...SURF Events
 
Component-based ontwikkelen met OSGi: van embedded tot enterprise
Component-based ontwikkelen met OSGi: van embedded tot enterpriseComponent-based ontwikkelen met OSGi: van embedded tot enterprise
Component-based ontwikkelen met OSGi: van embedded tot enterpriseMarcel Offermans
 
Templates maken met helix framework Joomla User Group Utrecht 10 november 2014
Templates maken met helix framework  Joomla User Group Utrecht 10 november 2014Templates maken met helix framework  Joomla User Group Utrecht 10 november 2014
Templates maken met helix framework Joomla User Group Utrecht 10 november 2014Eric Tiggeler
 

Similar to Cypress meetup v2 (20)

Robot framework en ci v2
Robot framework en ci v2Robot framework en ci v2
Robot framework en ci v2
 
Page experience de nieuwe ranking factor voor seo
Page experience de nieuwe ranking factor voor seoPage experience de nieuwe ranking factor voor seo
Page experience de nieuwe ranking factor voor seo
 
Perfect Patch
Perfect PatchPerfect Patch
Perfect Patch
 
Meetup DB testing met SoapUI en Robot Framework.pdf
Meetup DB testing met SoapUI en Robot Framework.pdfMeetup DB testing met SoapUI en Robot Framework.pdf
Meetup DB testing met SoapUI en Robot Framework.pdf
 
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en FluidTYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
 
PFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele testsPFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele tests
 
Een goede DEV omgeving opzetten
Een goede DEV omgeving opzettenEen goede DEV omgeving opzetten
Een goede DEV omgeving opzetten
 
Workshop: Introductie tot Python
Workshop: Introductie tot PythonWorkshop: Introductie tot Python
Workshop: Introductie tot Python
 
Projectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdamProjectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdam
 
Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014
Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014
Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014
 
About Node.js
About Node.jsAbout Node.js
About Node.js
 
Node.js: waarom en hoe
Node.js: waarom en hoeNode.js: waarom en hoe
Node.js: waarom en hoe
 
embedded Linux, van Black Tot QA
embedded Linux, van Black Tot QAembedded Linux, van Black Tot QA
embedded Linux, van Black Tot QA
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
 
Web applicatie van scratch
Web applicatie van scratchWeb applicatie van scratch
Web applicatie van scratch
 
TYPO3 Congres 2012 - Introductie werken met CSS preprocessors
TYPO3 Congres 2012 - Introductie werken met CSS preprocessorsTYPO3 Congres 2012 - Introductie werken met CSS preprocessors
TYPO3 Congres 2012 - Introductie werken met CSS preprocessors
 
'Op weg naar een flexibele totaaloplossing voor digitaal toetsen'- Bé Meerman...
'Op weg naar een flexibele totaaloplossing voor digitaal toetsen'- Bé Meerman...'Op weg naar een flexibele totaaloplossing voor digitaal toetsen'- Bé Meerman...
'Op weg naar een flexibele totaaloplossing voor digitaal toetsen'- Bé Meerman...
 
Component-based ontwikkelen met OSGi: van embedded tot enterprise
Component-based ontwikkelen met OSGi: van embedded tot enterpriseComponent-based ontwikkelen met OSGi: van embedded tot enterprise
Component-based ontwikkelen met OSGi: van embedded tot enterprise
 
Templates maken met helix framework Joomla User Group Utrecht 10 november 2014
Templates maken met helix framework  Joomla User Group Utrecht 10 november 2014Templates maken met helix framework  Joomla User Group Utrecht 10 november 2014
Templates maken met helix framework Joomla User Group Utrecht 10 november 2014
 

Cypress meetup v2