In dieser Revision d\xfcrften wir Priyanka Kore und Tobias Struckmeier von der\nAdesso als G\xe4ste begr\xfc\xdfen und mit Ihnen \xfcber End-to-End-Testing mit Cypress\nsprechen.\n\n\nSCHAUNOTIZEN\n\n[00:00:29] CYPRESS\n\nBevor sich unser Gespr\xe4ch auf Cypress einschie\xdft, kl\xe4ren wir, inwiefern Tests\nhilfreich sind, welche Software-Test-Methodiken es gibt, und wie diese alle sich\nzur ber\xfchmten Testing-Pyramide zusammenf\xfcgen:\n\n\n\n\n\nEnd-to-End-Tests (E2E) decken das ganze System ab und sind damit die\numfassendsten Tests, sie durchzuf\xfchren stellt einen allerdings vor so manche\nHerausforderung:\n\n * ggf. fehlt die n\xf6tige Infrastruktur daf\xfcr\n * das Setup ist aufw\xe4ndig\n * sie laufen langsam und sind ressourcenhungrig\n * das Management von Testdaten ist nicht einfach\n * sie sind schwer in bestehende Projekte zu bringen\n * und sie harmonieren nicht immer mit hochdynamischen SPA\n\nDie meisten der genannte Probleme lassen sich darauf zur\xfcckf\xfchren, dass\nE2E-Tests \xfcber das recht eigene Selenium Webdriver gesteuert und sie in \xfcblichen\nBrowsern auf diversen Betriebssystemen durchgef\xfchrt werden. Mit dieser\nVorgehensweise bricht Cypress und l\xf6st damit die meisten der oben genannten\nProbleme \u2013 und nimmt nat\xfcrlich auch gewisse Nachteile in Kauf.\n\nCypress nutzt vom Fleck weg bestehende Browser im System und unterst\xfctzt alle\nChromium-basierten Browser und den Mozilla Firefox. Desweiteren bringt Cypress\nauch einen eigenen Browser mit f\xfcr den Fall, dass kein unterst\xfctzter Browser\nvorhanden ist, sowie hilfreiche Zusatztools wie Mocha, eine Assertion Library,\nLauncher/Runner, Reporter und einen Proxy. Unterst\xfctzt wird all das von einer\nexzellenten Dokumentation Cypress ist also schnell und ohne gro\xdfen Aufwand\ninstalliert, es l\xe4uft deutlich schneller als Selenium, zum einen weil es lokal\nl\xe4uft, zum anderen weil man bei der Interaktion mit dem DOM anders vorgehen kann\nals in Selenium und es lassen sich Dinge wie XHR-Calls und/oder Testdaten durch\nintegrierte Tools sehr einfach simulieren. Und schlie\xdflich kann man Tests bei\nFehlern sofort stoppen und ein Entwickler \xfcbernimmt die Fehlersuche in dem noch\noffenen Browser.\n\nWie erw\xe4hnt, hat Cypress nat\xfcrlich auch Nachteile, welche die folgenden w\xe4ren:\n\n * Es werden nur Chromium- und Mozilla-Browser unterst\xfctzt\n * Cypress kann keine Tests durchf\xfchren, die mehr als einen Origin gleichzeitig\n umfassen\n * Cypress kann nicht mehrere Tests parallel durchf\xfchren, sofern man nicht deren\n payed Service nutzt\n * Es gibt keinen Standard-Weg Up- und Downloads zu testen, stattdessen viele\n m\xf6gliche Hacks\n\nAu\xdferdem sprechen wir im Verlauf der Sendung \xfcber \xfcber die automatische\nErzeugung von bebilderten Anleitungen via Cypress-Book und \xfcber das Testen von\neinzelnen Komponenten in Isolation.