{"id":3001,"date":"2022-07-04T10:44:01","date_gmt":"2022-07-04T10:44:01","guid":{"rendered":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?p=3001"},"modified":"2022-07-19T11:51:15","modified_gmt":"2022-07-19T11:51:15","slug":"testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor","status":"publish","type":"post","link":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/","title":{"rendered":"Testautomatisierung in Angular-Webprojekten \u2013 Was kommt nach Protractor?"},"content":{"rendered":"\n<p>Der K\u00f6nig ist tot, es lebe der K\u00f6nig! Aber welcher? Nachdem das Team von Angular im April angek\u00fcndigt hat, die Entwicklung seines e2e-Testing-Frameworks <em>Protractor<\/em><a href=\"https:\/\/github.com\/angular\/protractor\/issues\/5502\"> Ende 2022 einzustellen<\/a>, stellt sich f\u00fcr viele Entwicklerinnen und Entwickler nun die Frage, wie es weiter geht. Welches Tool zur Testautomatisierung sollte man verwenden? Der Markt h\u00e4lt hierf\u00fcr zahlreiche Alternativen bereit, von denen einige in diesem Beitrag beleuchtet werden sollen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"401\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web-600x401.jpg\" alt=\"Symbolic picture: A woman is sitting at a desk with a laptop, tablet and smartphone. The user interfaces show the same dashboards.\" class=\"wp-image-3085\" srcset=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web-600x401.jpg 600w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web-1024x684.jpg 1024w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web-768x513.jpg 768w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web-1536x1025.jpg 1536w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web-640x427.jpg 640w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web-1200x801.jpg 1200w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web-1920x1282.jpg 1920w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web.jpg 2000w\" sizes=\"auto, (max-width: 639px) 98vw, (max-width: 1199px) 64vw, 600px\" \/><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Die Testkandidaten<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Cypress<\/strong><\/h3>\n\n\n\n<p>Bei Cypress handelt es sich wohl um den bekanntesten Kandidaten im Testfeld. Laut einer Umfrage in der Angular Community vom Januar 2021 handelt es sich mit \u00fcber 60% der Stimmen um das am weitesten verbreitete Tool f\u00fcr automatisierte UI-Tests. Das erste Stable-Release erschien bereits 2017, gegenw\u00e4rtig befindet sich die Anwendung in Version 10. Cypress beschreibt sich selbst als schnell, einfach und verl\u00e4sslich und setzt dabei auf ein eigenes \u00d6kosystem an Tools, das im Gegensatz zu <em>Protractor <\/em>unabh\u00e4ngig von Selenium und WebDriver ist. Unterst\u00fctzt werden derzeit Chrome, Firefox und Edge, jedoch (noch) nicht Safari. Die M\u00f6glichkeit, die Tests gegen verschiedene Browser-Versionen auszuf\u00fchren, kann durch die Anbindung von BrowserStack oder durch das Austauschen der Binaries f\u00fcr die lokale Ausf\u00fchrung erreicht werden.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table><tbody><tr><td>Pro<\/td><td>Contra<\/td><\/tr><tr><td>+ schnell<br>+ stabil<br>+ gro\u00dfe Community<br>+ umfangreiche, verst\u00e4ndliche Dokumentation<\/td><td>&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Noch kein Support f\u00fcr Safari<\/td><\/tr><\/tbody><\/table><figcaption><em>Tabelle 1: Vor- und Nachteile des Tools Cypress<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Playwright<\/strong><\/h3>\n\n\n\n<p>Das seit 2020 von Microsoft entwickelte Playwright stellt den j\u00fcngsten Kandidaten im Feld der Automatisierungstools dar. Laut eigener Beschreibung soll die Bibliothek aktuell, schnell, zuverl\u00e4ssig und leistungsf\u00e4hig sein, um g\u00e4ngige Probleme des UI-Testens wie Flakiness und langsame Ausf\u00fchrungsgeschwindigkeiten zu beseitigen. Mit dieser Zielsetzung im Hintergrund verwundert es nicht, dass Playwright im Gegensatz zu den anderen Testing-Tools nicht auf Selenium Webdriver aufsetzt, sondern \u00fcber eine eigene Implementierung zur Browser-Steuerung verf\u00fcgt. Unterst\u00fctzt werden dabei die aktuellen Browser Engines von Chromium, Firefox und WebKit, jeweils auf Windows, Linux und MacOS. \u00c4ltere Versionen k\u00f6nnen unter Verwendung \u00e4lterer Playwright-Versionen eingebunden werden, seit Kurzem k\u00f6nnen auch generische Chromium-Builds (Edge und Chrome) verwendet werden. Support f\u00fcr Mobilger\u00e4te ist aktuell nur per Emulation bestimmter Ger\u00e4tekonfigurationen wie Aufl\u00f6sung und User-Agent m\u00f6glich, ein Testen auf echten Ger\u00e4ten ist derzeit nicht m\u00f6glich.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Das Feature Set umfasst neben Standardoperationen auch Funktionen, die in anderen Frameworks fehlen oder nur per Workaround realisiert werden k\u00f6nnen. So stehen neben Clicks, Scrolling, Selections usw. auch Drag-and-Drop, Interaktionen im Shadow-Dom und Synchronisierung mit Animationen zur Verf\u00fcgung.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Im Hinblick auf Performance und Ausf\u00fchrungsgeschwindigkeit verh\u00e4lt sich Playwright wesentlich schneller als Protractor und andere seleniumbasierte Testframeworks. In unseren Tests konnten wir auch bei mehreren Testinstanzen im Parallelbetrieb keine Probleme in Hinblick auf Flakiness oder unerwartete Abbr\u00fcche feststellen. Abschlie\u00dfend l\u00e4sst sich sagen, dass Microsoft mit Playwright ein modernes und auf die Anforderungen modernen UI-Testings ausgerichtetes Framework vorgelegt hat, das trotz seiner kurzen Zeit am Markt bereits viele F\u00fcrsprecher gewonnen hat und wohl auch in Zukunft noch an Bedeutung gewinnen wird.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Pro<\/td><td>Contra<\/td><\/tr><tr><td>+ schnell<br>+ stabil<br>+ gro\u00dfes Featureset<\/td><td>&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Aktuell nur eingeschr\u00e4nkter Support f\u00fcr BrowserStack<br>&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Kein Support f\u00fcr echte Mobilger\u00e4te<\/td><\/tr><\/tbody><\/table><figcaption><em>Tabelle 2: Vor- und Nachteile des Tools Playwright<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Webdriver.io<\/strong><\/h3>\n\n\n\n<p>Webdriver.io ist mit \u00fcber sieben Jahren am Markt eines der langlebigsten Automatisierungstools im Testfeld. Die Macher beschreiben das Design ihres Testframeworks als erweiterbar, kompatibel und reich an Features, was sich bei genauer Begutachtung auch bewahrheitet:<\/p>\n\n\n\n<p>Bei Webdriver.io handelt es sich um ein Selenium-basiertes Testframework, welches die darauf beruhende WebDriver API des W3C implementiert. Dadurch wird die Kompatibilit\u00e4t mit allen modernen Browsern (und IE) gew\u00e4hrleistet, die eine eigene Treiberimplementierung bereitstellen. Dar\u00fcber hinaus wird auch das Testen von Webanwendungen auf mobilen Ger\u00e4ten sowie nativen Apps erm\u00f6glicht.<\/p>\n\n\n\n<p>Im tagt\u00e4glichen Einsatz zeigen sich weitere St\u00e4rken des Frameworks: Ein gro\u00dfer Fundus an Hilfsmethoden und<em> syntactic sugar<\/em> macht das Formulieren von Testschritten und Erwartungen deutlich einfacher und lesbarer, als man es von Protractor gew\u00f6hnt war. Hervorzuheben sind dabei u. a. der Zugriff auf ShadowRoot-Komponenten via shadow$, die vielseitigen Einstellungsm\u00f6glichkeiten der Konfiguration (u. a. automatische Testwiederholungen im Fehlerfall) und das Warten auf erscheinende bzw. verschwindende DOM-Elemente. Sollte dennoch mal eine Funktion nicht verf\u00fcgbar sein, l\u00e4sst sich diese als custom command implementieren und anschlie\u00dfend genauso wie die mitgelieferten Funktionen verwenden.<\/p>\n\n\n\n<p>Bei aller Lobpreisung gibt es dennoch einen Wermutstropfen: Im Vergleich zu anderen Frameworks ist die Testausf\u00fchrung aufgrund der Selenium-basierten Implementierung recht langsam, jedoch kann die Ausf\u00fchrung auch parallelisiert werden.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Pro<\/td><td>Contra<\/td><\/tr><tr><td>+ Vielseitige Kompatibilit\u00e4t<br>+ Ausgezeichnete Dokumentation<br>+ Zahlreiche Hilfsmethoden und <em>syntactic sugar<\/em><\/td><td>&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Testausf\u00fchrung langsamer als in andere Frameworks<\/td><\/tr><\/tbody><\/table><figcaption><em>Tabelle 3: Vor- und Nachteile des Tools Webdriver.io<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>TestCaf\u00e9<\/strong><\/h3>\n\n\n\n<p>Bei TestCaf\u00e9 handelt es sich um einen weniger verbreiteten Kandidaten im Testfeld. Die bereits erw\u00e4hnte Umfrage in der Angular Community ergab einen Nutzungsanteil von unter 1%. Das erste Stable-Release erschien 2018, gegenw\u00e4rtig befindet sich die Anwendung in Version 1.19. Das Versprechen eines einfachen Setups und die Unabh\u00e4ngigkeit von WebDriver war f\u00fcr uns ein Grund, etwas genauer unter die Haube zu schauen. Stattdessen verwendet TestCaf\u00e9 einen umgeschriebenen URL-Proxy namens Hammerhead, der Befehle mithilfe der DOM-API emuliert und JavaScript in den Browser injiziert.<\/p>\n\n\n\n<p>Unterst\u00fctzt werden derzeit alle g\u00e4ngigen Browser und die mobilen Versionen von Chrome und Safari. Hervorzuheben ist dabei die M\u00f6glichkeit, Tests auf echten Mobilger\u00e4ten im gleichen Netzwerk auszuf\u00fchren zu k\u00f6nnen. Die Testausf\u00fchrung mit BrowserStack ist ebenfalls m\u00f6glich. Zu erw\u00e4hnen ist an dieser Stelle auch, dass zus\u00e4tzlich eine dezidierte Entwicklungsumgebung (TestCaf\u00e9 Studio) existiert, in der es auch m\u00f6glich ist, mit wenig Programmierkenntnis Testf\u00e4lle zu erstellen und aufzunehmen.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Pro<\/td><td>Contra<\/td><\/tr><tr><td>+ schnell<br>+ Vielseitige Kompatibilit\u00e4t (auch f\u00fcr mobile Browser und Endger\u00e4te)<br>+ gro\u00dfes Featureset<\/td><td>&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Geringe Verbreitung<br>&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Testrecorder-Tool nur kostenpflichtig<\/td><\/tr><\/tbody><\/table><figcaption><em>Tabelle 4: Vor- und Nachteile des Tools TestCafe<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Gegen\u00fcberstellung<\/strong><\/h2>\n\n\n\n<p>Bei der Wahl eines Testframeworks ist es zun\u00e4chst wichtig, die eigenen Projektanforderungen zu kennen. Hierbei k\u00f6nnen folgende Fragestellungen n\u00fctzlich sein:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Welche Browser sollen unterst\u00fctzt werden?<\/li><li>Sollen verschiedene Browserversionen getestet werden?<\/li><li>Ist Unterst\u00fctzung f\u00fcr mobile Ger\u00e4te erforderlich?<\/li><li>K\u00f6nnen die Kernfunktionen der Anwendung mittels des Frameworks getestet werden?<\/li><\/ul>\n\n\n\n<p>Die folgende Tabelle kann bei der Orientierung der Wahl eines Testframeworks helfen.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Kriterium<\/td><td>Cypress<\/td><td>Playwright<\/td><td>Webdriver.io<\/td><td>TestCaf<strong>\u00e9<\/strong><\/td><\/tr><tr><td>Browser-Support (und Versionen)<\/td><td>o<\/td><td>+<\/td><td>+ +<\/td><td>+ +<\/td><\/tr><tr><td>Mobile Support<\/td><td>+ +<\/td><td>+ <\/td><td>+ +<\/td><td>+ +<\/td><\/tr><tr><td>Funktionsumfang<\/td><td>+ <\/td><td>+ +<\/td><td>+ +<\/td><td>+ <\/td><\/tr><tr><td>Testgeschwindigkeit<\/td><td>+ <\/td><td>+ <\/td><td>o<\/td><td>+ <\/td><\/tr><tr><td>Migration von Protractor<\/td><td>o<\/td><td>o<\/td><td>+ +<\/td><td>&#8211;<\/td><\/tr><tr><td>Zukunftssicherheit<\/td><td>+ +<\/td><td>+ <\/td><td>+ <\/td><td>o<\/td><\/tr><\/tbody><\/table><figcaption><em>Tabelle 5: Vergleich der Test-Tools nach verschiedenen Kriterien <\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p>Die Landschaft an Testframeworks ist sehr vielseitig und es ist oft nicht einfach, die richtige Entscheidung zu treffen. F\u00fcr Projekte mit beispielsweise geringen Testanforderungen, das Testen gegen wenige und ausschlie\u00dflich aktuelle Browser, bei denen eine schnelle Testausf\u00fchrung von Vorteil ist, empfehlen wir die Verwendung von Playwright.<\/p>\n\n\n\n<p>Handelt es sich allerdings um ein Projekt, in dem eine Migration von Protractor durchgef\u00fchrt werden muss und es wichtig ist, gegen viele Browser, in unterschiedlichen Versionen und auf mobilen Endger\u00e4ten zu testen, empfehlen wir Webdriver.io.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Quellen<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.rainerhahnekamp.com\/en\/angular-e2e-testing-protractor-is-dead-long-live-cypress\/\">https:\/\/www.rainerhahnekamp.com\/en\/angular-e2e-testing-protractor-is-dead-long-live-cypress\/<\/a><\/li><li><a href=\"https:\/\/github.com\/angular\/protractor\/issues\/5502\">https:\/\/github.com\/angular\/protractor\/issues\/5502<\/a><\/li><li><a href=\"https:\/\/docs.cypress.io\/\">https:\/\/docs.cypress.io\/<\/a><\/li><li><a href=\"https:\/\/webdriver.io\/\">https:\/\/webdriver.io\/<\/a><\/li><li><a href=\"https:\/\/playwright.dev\/\">https:\/\/playwright.dev\/<\/a><\/li><li><a href=\"https:\/\/testcafe.io\/\">https:\/\/testcafe.io\/<\/a><\/li><\/ul>\n\n\n\n<div style=\"height:80px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Dieser Beitrag wurde verfasst von:<\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide is-vertically-aligned-top\" style=\"grid-template-columns:16% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"126\" height=\"127\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/heinze_stefan.png\" alt=\"\" class=\"wp-image-421 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"has-primary-color has-text-color\" style=\"font-size:24px\">Stefan Heinze<\/p>\n\n\n\n<p>Stefan Heinze arbeitet seit 2011 als Software-Entwickler bei der ZEISS Digital Innovation in Dresden. Derzeit besch\u00e4ftigt er sich mit Angular-Anwendungen und Azure-Backend-Entwicklung im Medizinbereich. Dabei gilt ein erh\u00f6htes Augenmerk auf die Automatisierung von Oberfl\u00e4chentests zur Sicherstellung der Softwarequalit\u00e4t.<\/p>\n\n\n\n<p><a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/\">Alle Beitr\u00e4ge des Autors anzeigen<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nachdem das Team von Angular im April angek\u00fcndigt hat, die Entwicklung seines e2e-Testing-Frameworks Protractor Ende 2022 einzustellen, stellt sich f\u00fcr viele Entwicklerinnen und Entwickler nun die Frage, wie es weiter geht. Welches Tool zur Testautomatisierung sollte man verwenden? Der Markt h\u00e4lt hierf\u00fcr zahlreiche Alternativen bereit, von denen einige in diesem Beitrag beleuchtet werden sollen.<\/p>\n","protected":false},"author":148,"featured_media":3085,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","footnotes":""},"categories":[10,11],"tags":[570,637,689,690,691,692,52,337],"topics":[227],"class_list":["post-3001","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-qualitaetssicherung","category-web","tag-zeiss-digital-innovation","tag-testautomatisierungstools","tag-cypress","tag-playwright","tag-webdriver-io","tag-testcafe","tag-testautomatisierung","tag-editorschoice","topics-testautomatisierung"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Testautomatisierung in Angular... - ZEISS Digital Innovation Blog<\/title>\n<meta name=\"description\" content=\"Es gibt zahlreiche Tools zur Testautomatisierung. Welche Vor- und Nachteile einige dieser Tools aufweisen, wird in diesem Blog erkl\u00e4rt.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Testautomatisierung in Angular-Webprojekten\" \/>\n<meta property=\"og:description\" content=\"Es gibt zahlreiche Tools zur Testautomatisierung. Welche Vor- und Nachteile einige dieser Tools aufweisen, wird in diesem Blog erkl\u00e4rt.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/\" \/>\n<meta property=\"og:site_name\" content=\"Digital Innovation Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ZEISSDigitalInnovation\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-04T10:44:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-19T11:51:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1335\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Carl Klein\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Testautomatisierung in Angular-Webprojekten\" \/>\n<meta name=\"twitter:description\" content=\"Es gibt zahlreiche Tools zur Testautomatisierung. Welche Vor- und Nachteile einige dieser Tools aufweisen, wird in diesem Blog erkl\u00e4rt.\" \/>\n<meta name=\"twitter:creator\" content=\"@ZEISS_di\" \/>\n<meta name=\"twitter:site\" content=\"@ZEISS_di\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carl Klein\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"7\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/\",\"name\":\"Testautomatisierung in Angular... - ZEISS Digital Innovation Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web.jpg\",\"datePublished\":\"2022-07-04T10:44:01+00:00\",\"dateModified\":\"2022-07-19T11:51:15+00:00\",\"author\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/7a5ef1255da5f218f22e6725764416c9\"},\"description\":\"Es gibt zahlreiche Tools zur Testautomatisierung. Welche Vor- und Nachteile einige dieser Tools aufweisen, wird in diesem Blog erkl\u00e4rt.\",\"breadcrumb\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/#primaryimage\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web.jpg\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web.jpg\",\"width\":2000,\"height\":1335},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Testautomatisierung in Angular-Webprojekten \u2013 Was kommt nach Protractor?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/\",\"name\":\"Digital Innovation Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/7a5ef1255da5f218f22e6725764416c9\",\"name\":\"Carl Klein\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/07\/klein_carl-scaled-e1657191017869-150x150.jpg\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/07\/klein_carl-scaled-e1657191017869-150x150.jpg\",\"caption\":\"Carl Klein\"},\"description\":\"Carl Klein arbeitet seit 2017 als Softwareentwickler bei der ZEISS Digital Innovation in Berlin. Sein Fokus liegt dabei im Frontend und dem Testen medizinischer Software.\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/carlklein\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Testautomatisierung in Angular... - ZEISS Digital Innovation Blog","description":"Es gibt zahlreiche Tools zur Testautomatisierung. Welche Vor- und Nachteile einige dieser Tools aufweisen, wird in diesem Blog erkl\u00e4rt.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/","og_locale":"de_DE","og_type":"article","og_title":"Testautomatisierung in Angular-Webprojekten","og_description":"Es gibt zahlreiche Tools zur Testautomatisierung. Welche Vor- und Nachteile einige dieser Tools aufweisen, wird in diesem Blog erkl\u00e4rt.","og_url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/","og_site_name":"Digital Innovation Blog","article_publisher":"https:\/\/www.facebook.com\/ZEISSDigitalInnovation\/","article_published_time":"2022-07-04T10:44:01+00:00","article_modified_time":"2022-07-19T11:51:15+00:00","og_image":[{"width":2000,"height":1335,"url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web.jpg","type":"image\/jpeg"}],"author":"Carl Klein","twitter_card":"summary_large_image","twitter_title":"Testautomatisierung in Angular-Webprojekten","twitter_description":"Es gibt zahlreiche Tools zur Testautomatisierung. Welche Vor- und Nachteile einige dieser Tools aufweisen, wird in diesem Blog erkl\u00e4rt.","twitter_creator":"@ZEISS_di","twitter_site":"@ZEISS_di","twitter_misc":{"Verfasst von":"Carl Klein","Gesch\u00e4tzte Lesezeit":"7\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/","name":"Testautomatisierung in Angular... - ZEISS Digital Innovation Blog","isPartOf":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/#primaryimage"},"image":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web.jpg","datePublished":"2022-07-04T10:44:01+00:00","dateModified":"2022-07-19T11:51:15+00:00","author":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/7a5ef1255da5f218f22e6725764416c9"},"description":"Es gibt zahlreiche Tools zur Testautomatisierung. Welche Vor- und Nachteile einige dieser Tools aufweisen, wird in diesem Blog erkl\u00e4rt.","breadcrumb":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/#primaryimage","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web.jpg","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web.jpg","width":2000,"height":1335},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-in-angular-webprojekten-was-kommt-nach-protractor\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/"},{"@type":"ListItem","position":2,"name":"Testautomatisierung in Angular-Webprojekten \u2013 Was kommt nach Protractor?"}]},{"@type":"WebSite","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/","name":"Digital Innovation Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/7a5ef1255da5f218f22e6725764416c9","name":"Carl Klein","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/image\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/07\/klein_carl-scaled-e1657191017869-150x150.jpg","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/07\/klein_carl-scaled-e1657191017869-150x150.jpg","caption":"Carl Klein"},"description":"Carl Klein arbeitet seit 2017 als Softwareentwickler bei der ZEISS Digital Innovation in Berlin. Sein Fokus liegt dabei im Frontend und dem Testen medizinischer Software.","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/carlklein\/"}]}},"author_meta":{"display_name":"Carl Klein","author_link":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/carlklein\/"},"featured_img":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/06\/20220630_Testautomatisierung_Angular_Web-600x401.jpg","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/qualitaetssicherung\/\" class=\"advgb-post-tax-term\">Qualit\u00e4tssicherung<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Web<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Qualit\u00e4tssicherung<\/span>","<span class=\"advgb-post-tax-term\">Web<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">ZEISS Digital Innovation<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Testautomatisierungstools<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Cypress<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Playwright<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Webdriver.io<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">TestCafe<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Testautomatisierung<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/web\/\" class=\"advgb-post-tax-term\">Editor&#039;s Choice<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">ZEISS Digital Innovation<\/span>","<span class=\"advgb-post-tax-term\">Testautomatisierungstools<\/span>","<span class=\"advgb-post-tax-term\">Cypress<\/span>","<span class=\"advgb-post-tax-term\">Playwright<\/span>","<span class=\"advgb-post-tax-term\">Webdriver.io<\/span>","<span class=\"advgb-post-tax-term\">TestCafe<\/span>","<span class=\"advgb-post-tax-term\">Testautomatisierung<\/span>","<span class=\"advgb-post-tax-term\">Editor&#039;s Choice<\/span>"]}},"comment_count":"0","relative_dates":{"created":"Posted 4\u00a0Jahren ago","modified":"Updated 4\u00a0Jahren ago"},"absolute_dates":{"created":"Posted on Juli 4, 2022","modified":"Updated on Juli 19, 2022"},"absolute_dates_time":{"created":"Posted on Juli 4, 2022 10:44 a.m.","modified":"Updated on Juli 19, 2022 11:51 a.m."},"featured_img_caption":"","series_order":"","_links":{"self":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/3001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/users\/148"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/comments?post=3001"}],"version-history":[{"count":21,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/3001\/revisions"}],"predecessor-version":[{"id":3210,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/3001\/revisions\/3210"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/media\/3085"}],"wp:attachment":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/media?parent=3001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/categories?post=3001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/tags?post=3001"},{"taxonomy":"topics","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/topics?post=3001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}