{"id":163,"date":"2020-01-17T10:34:12","date_gmt":"2020-01-17T10:34:12","guid":{"rendered":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?p=163"},"modified":"2020-05-28T11:17:57","modified_gmt":"2020-05-28T11:17:57","slug":"automatisiertes-layout-testing-von-websites-mit-galen","status":"publish","type":"post","link":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/","title":{"rendered":"Automatisiertes Layout-Testing von Websites mit Galen"},"content":{"rendered":"\n<p>Die Implementierung von Tests in Softwareprojekten ist ein wichtiger Bestandteil des Entwicklungsprozesses. Dank ihrer Eigenschaften lassen sie sich parallelisiert und auf immer gleiche Weise ausf\u00fchren, ohne zus\u00e4tzliche Aufw\u00e4nde zu verursachen. Dies erlaubt es, eine schnelle und kosteneffektive Aussage zur Qualit\u00e4t des Softwaresystems zu treffen, wodurch sich eine generell h\u00f6here Qualit\u00e4t des gesamten Softwaresystems ergibt.<\/p>\n\n\n\n<p>Auch auf der visuellen Ebene sind Tests wichtig. So gibt es auf Kundenseite meist klare Anforderungen und Vorgaben an das Layout einer Anwendung oder Website sowie auch an deren Unterst\u00fctzung f\u00fcr verschiedene Endger\u00e4te, Browser und Aufl\u00f6sungen. Diese Anforderungen zu testen, ist manuell ein enormer Aufwand und auch die teilautomatisierte Umsetzung gestaltet sich meist schwierig, da die aufgenommenen Screenshots der Anwendung f\u00fcr die verschiedenen Ger\u00e4te, Browser und Aufl\u00f6sungen manuell verglichen werden m\u00fcssen.<\/p>\n\n\n\n<p>Das Galen-Framework soll diese L\u00fccke schlie\u00dfen, indem es dem Anwender erlaubt, seine Testanforderungen in eigenem Programmcode zu formulieren und so eine vollautomatisierte Testabdeckung f\u00fcr das Layout einer Anwendung umzusetzen.<\/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\">Das Galen-Framework<\/h2>\n\n\n\n<p>Galen ist ein Framework zum automatisierten Testen des Layouts einer Website. Durch seine Kompatibilit\u00e4t zu Selenium Grid, l\u00e4sst es sich in verschiedene Testlandschaften wie z. B. BrowserStack integrieren. Werden also mit BrowserStack verschiedene Tests zu unterschiedlichen Browsern, Devices und Aufl\u00f6sungen durchgef\u00fchrt, k\u00f6nnen die Layout-Tests mit Galen parallel dazu durchlaufen werden.<\/p>\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\">Key-Features<\/h3>\n\n\n\n<p>Eine \u00dcbersicht der Key-Features zu Galen ist nachfolgend dargestellt:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Integration in Selenium Grid<br><\/strong>Eine Integration in andere Test-Tools wie BrowserStack oder Sauce Labs ist m\u00f6glich<\/li><li><strong>Responsive Design<br><\/strong>Das Design von Galen ber\u00fccksichtigt stark die Bedeutung von Responsive Design und soll die Implementierung dieser Tests vereinfachen<\/li><li><strong>Eine verst\u00e4ndliche Sprache f\u00fcr Nichtanwender, Einsteiger und Profis<br><\/strong>\u00dcber die Galen Specs Language lassen sich komplexe Anforderungen an ein Layout stellen, die unterschiedliche Browser-Fenstergr\u00f6\u00dfen einschlie\u00dfen<\/li><\/ul>\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\">Human Readable and Advanced Syntax<\/h2>\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\">Basic Syntax<\/h3>\n\n\n\n<p>Mit der Galen Specs Language k\u00f6nnen komplexe Layouts beschrieben werden. Dies betrifft neben angezeigten Controls auch die Definition verschiedener Bildschirmgr\u00f6\u00dfen und Browser. Ein Vorteil der Sprache ist die einfache syntaktische Definition der Testanforderungen und die einfache Lesbarkeit f\u00fcr Menschen, die nicht mit dem Framework und seiner Syntax vertraut sind.&nbsp;<a rel=\"noreferrer noopener\" href=\"http:\/\/galenframework.com\/docs\/reference-galen-spec-language-guide\/\" target=\"_blank\">\u00bb Galen Specs Language Guide<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"565\" height=\"393\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_1.png\" alt=\"Galen Basic Syntax\" class=\"wp-image-448\"\/><figcaption><em>Abbildung 1: Basic Syntax (Quelle: galenframework.com)<\/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\">Fortgeschrittene Techniken<\/h2>\n\n\n\n<p>F\u00fcr fortgeschrittene Anwender gibt es verschiedene Techniken, die bei der Optimierung der Spezifikation helfen k\u00f6nnen. So bietet das Framework unter anderem umfangreiche Funktionalit\u00e4ten f\u00fcr die Erstellung visueller Tests wie Bildvergleiche und Farbschemaverifizierung.&nbsp;<a rel=\"noreferrer noopener\" href=\"http:\/\/galenframework.com\/docs\/reference-galen-spec-language-guide\/\" target=\"_blank\">\u00bb Galen Specs Language Guide<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"563\" height=\"396\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_2.png\" alt=\"Galen Advanced Syntax\" class=\"wp-image-449\"\/><figcaption><em>Abbildung 2: Advanced Syntax (Quelle: galenframework.com)<\/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\">Testen f\u00fcr Profis<\/h2>\n\n\n\n<p>Ge\u00fcbte Anwender haben au\u00dferdem die M\u00f6glichkeit, eigene und komplexere Ausdr\u00fccke zu formulieren, um so mehrere Testabfragen in einer einzigen Zeile zu formulieren. Auf diese Weise k\u00f6nnen klare Spezifikationen sowie gut wartbarer und zuverl\u00e4ssiger Testcode geschrieben werden.&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/galenframework\/galen-extras#galen-extras\" target=\"_blank\">\u00bb Galen Extras<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"227\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_3-600x227.png\" alt=\"Galen Testcode\" class=\"wp-image-450\" srcset=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_3-600x227.png 600w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_3-1024x387.png 1024w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_3-768x291.png 768w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_3-640x242.png 640w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_3.png 1155w\" sizes=\"auto, (max-width: 639px) 98vw, (max-width: 1199px) 64vw, 600px\" \/><figcaption><em>Abbildung 3: Test like a Pro (Quelle: galenframework.com)<\/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\">Testdokumentation<\/h2>\n\n\n\n<p>F\u00fcr die Dokumentation der Testergebnisse stellt das Framework drei Features bereit:<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading\">Error Reporting<\/h3>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<ul class=\"wp-block-list\"><li>Galen generiert einen HTML Testbericht<\/li><li>Dieser beinhaltet alle Testobjekte einer Seite<\/li><li><a href=\"http:\/\/galenframework.com\/public\/samples\/reports\/report.html\" target=\"_blank\" rel=\"noreferrer noopener\">Beispiel<\/a><\/li><\/ul>\n<\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading\">Screenshots<\/h3>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<ul class=\"wp-block-list\"><li>Bei fehlerhaften Tests markiert das Framework das betreffende Element<\/li><li>Dies vereinfacht die Fehlersuche<\/li><li><a href=\"http:\/\/galenframework.com\/public\/samples\/report-error-highlight.png\" target=\"_blank\" rel=\"noreferrer noopener\">Beispiel<\/a><\/li><\/ul>\n<\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading\">Image Comparison<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>F\u00fcr die visuelle Kontrolle erstellt Galen Bildvergleiche<\/li><li>Nicht \u00fcbereinstimmende Bereiche werden markiert<\/li><li><a href=\"http:\/\/galenframework.com\/public\/samples\/report-image-comparison-screenshot.png\" target=\"_blank\" rel=\"noreferrer noopener\">Beispiel<\/a><\/li><\/ul>\n\n\n\n<p><\/p>\n<\/div>\n<\/div>\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\">Unterst\u00fctzung der Testdurchf\u00fchrung in verschiedenen Sprachen<\/h2>\n\n\n\n<p>Die Implementierung der Tests erm\u00f6glicht Galen in drei Sprachen. Die bereits bekannte Basic Syntax sowie mit JavaScript und Java.<\/p>\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\">Basic Syntax<\/h3>\n\n\n\n<p>Die Basic Syntax soll den schnellen, aber trotzdem m\u00e4chtigen Einstieg erm\u00f6glichen. Mit ihr lassen sich relativ einfach verschiedene Browser wie Firefox, Chrome oder der Internet Explorer f\u00fcr die Testausf\u00fchrung ausw\u00e4hlen oder auf Selenium Grid umstellen.<\/p>\n\n\n\n<p>F\u00fcr den Zugriff auf schwieriger zu erreichende Seiten, welche zum Beispiel durch Sicherheitsmechanismen gesch\u00fctzt sind, gibt es die M\u00f6glichkeit, eigenes JavaScript auf der Client-Seite zu implementieren. Durch die Implementierungen von eigenem JavaScript auf der Testseite kann die Website f\u00fcr die durchzuf\u00fchrenden Layout-Pr\u00fcfungen vorbereitet werden.&nbsp;<a href=\"http:\/\/galenframework.com\/docs\/reference-galen-test-suite-syntax\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u00bb Galen Test Suite Syntax<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"555\" height=\"446\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_4.png\" alt=\"Galen Test Execution Basic Syntax\" class=\"wp-image-451\"\/><figcaption><em>Abbildung 4: Test Execution Basic Syntax (Quelle: galenframework.com)<\/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\">JavaScript<\/h3>\n\n\n\n<p>Durch die Verwendung von JavaScript steht es dem Anwender frei, sein eigenes Test-Framework zu entwickeln und so komplexe Sachverhalte abzubilden. Das Galen Framework bietet dabei die vier folgenden Funktionalit\u00e4ten zur Implementierung von JavaScript-Tests.<br><a href=\"http:\/\/galenframework.com\/docs\/reference-javascript-tests-guide\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u00bb JavaScript Tests Guide<\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Die Implementierung von Behandlungen vor und nach den Testvorg\u00e4ngen<\/li><li>Das Filtern und die Neuordnung von Testsequenzen<\/li><li>Die Verwaltung benutzerdefinierter Data Provider<\/li><li>Die Parametrisierung von Tests durch Arrays oder Maps<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"565\" height=\"459\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_5.png\" alt=\"Galen Test Execution JavaScript Tests\" class=\"wp-image-452\"\/><figcaption><em>Abbildung 5: Test Execution JavaScript Tests (Quelle: galenframework.com)<\/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\">Java<\/h3>\n\n\n\n<p>Die eigentliche Sprache, die Galen zugrunde liegt, ist Java. Aus diesem Grund versteht es sich dann nat\u00fcrlich auch, dass f\u00fcr Java eine API zur Verf\u00fcgung steht und dass die Java Virtual Machine zur Ausf\u00fchrung der Tests installiert sein muss. Die Java-API kann \u00fcber das Central Maven Repository in Maven-Projekte eingebunden werden.&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/galenframework\/galen-sample-java-tests\" target=\"_blank\">\u00bb Git Beispielprojekt<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"345\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_6-600x345.png\" alt=\"Galen Test Execution Java API\" class=\"wp-image-453\" srcset=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_6-600x345.png 600w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_6.png 614w\" sizes=\"auto, (max-width: 639px) 98vw, (max-width: 1199px) 64vw, 600px\" \/><figcaption><em>Abbildung 6: Test Execution Java API (Quelle: galenframework.com)<\/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 Durchf\u00fchrung von Layout-Tests ist eine aufwendige Aufgabe, die mit zunehmender Anzahl an Tests viele Ressourcen in Softwareprojekten kosten kann. Mit dem Galen Framework existiert eine L\u00f6sung der automatischen Durchf\u00fchrung und Dokumentation von Layout-Tests, die zudem eine komfortable Integration in bestehende seleniumbasierte und andere Teststrategien bietet. Durch ihre einfache und menschenlesbare Syntax ist sie f\u00fcr nahezu alle Projektteilnehmer verst\u00e4ndlich und unterst\u00fctzt somit die rollen\u00fcbergreifende Zusammenarbeit im Softwareprojekt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das Galen-Framework erlaubt es dem Anwender, seine Testanforderungen in eigenem Programmcode zu formulieren und so eine vollautomatisierte Testabdeckung f\u00fcr das Layout einer Anwendung umzusetzen.<\/p>\n","protected":false},"author":11,"featured_media":448,"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,15],"tags":[40,41,42,43,44,46,45,48,49,50,51,52,53],"topics":[],"class_list":["post-163","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-qualitaetssicherung","category-web","category-java","tag-browserstack","tag-automatisiertes-testen","tag-galen","tag-test-framework","tag-selenium-grid","tag-softwaresystemtest","tag-galen-specs-language","tag-softwaretests","tag-testdurchfuehrung","tag-galen-framework","tag-layout-test","tag-testautomatisierung","tag-testwerkzeuge"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Automatisiertes Layout-Testing von Websites mit Galen - ZEISS Digital Innovation Blog<\/title>\n<meta name=\"description\" content=\"Galen ist ein Framework f\u00fcr automatisiertes Layout-Testing von Websites. Der Anwender kann damit die Testanforderungen in eigenem Programmcode formulieren.\" \/>\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\/automatisiertes-layout-testing-von-websites-mit-galen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatisiertes Layout-Testing von Websites mit Galen - ZEISS Digital Innovation Blog\" \/>\n<meta property=\"og:description\" content=\"Galen ist ein Framework f\u00fcr automatisiertes Layout-Testing von Websites. Der Anwender kann damit die Testanforderungen in eigenem Programmcode formulieren.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/\" \/>\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=\"2020-01-17T10:34:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-28T11:17:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"565\" \/>\n\t<meta property=\"og:image:height\" content=\"393\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Bastian Voigt\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\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=\"Bastian Voigt\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\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\/automatisiertes-layout-testing-von-websites-mit-galen\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/\",\"name\":\"Automatisiertes Layout-Testing von Websites mit Galen - ZEISS Digital Innovation Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_1.png\",\"datePublished\":\"2020-01-17T10:34:12+00:00\",\"dateModified\":\"2020-05-28T11:17:57+00:00\",\"author\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/dcc985b5e05d8c3bc145501514fefbdb\"},\"description\":\"Galen ist ein Framework f\u00fcr automatisiertes Layout-Testing von Websites. Der Anwender kann damit die Testanforderungen in eigenem Programmcode formulieren.\",\"breadcrumb\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/#primaryimage\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_1.png\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_1.png\",\"width\":565,\"height\":393,\"caption\":\"Galen Basic Syntax\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automatisiertes Layout-Testing von Websites mit Galen\"}]},{\"@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\/dcc985b5e05d8c3bc145501514fefbdb\",\"name\":\"Bastian Voigt\",\"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\/2020\/05\/voigt_bastian-e1588612523417-150x150.jpg\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/voigt_bastian-e1588612523417-150x150.jpg\",\"caption\":\"Bastian Voigt\"},\"description\":\"Bastian Voigt studierte Wirtschaftsinformatik an der Hochschule f\u00fcr Telekommunikation Leipzig (HfTL). F\u00fcr die ZEISS Digital Innovation arbeitet er im Bereich Web und besch\u00e4ftigt sich dort mit innovativen Themen der Webentwicklung. Privat widmet sich Bastian gern kleineren Projekten mit Raspberry Pi.\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/bastianvoigt\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Automatisiertes Layout-Testing von Websites mit Galen - ZEISS Digital Innovation Blog","description":"Galen ist ein Framework f\u00fcr automatisiertes Layout-Testing von Websites. Der Anwender kann damit die Testanforderungen in eigenem Programmcode formulieren.","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\/automatisiertes-layout-testing-von-websites-mit-galen\/","og_locale":"de_DE","og_type":"article","og_title":"Automatisiertes Layout-Testing von Websites mit Galen - ZEISS Digital Innovation Blog","og_description":"Galen ist ein Framework f\u00fcr automatisiertes Layout-Testing von Websites. Der Anwender kann damit die Testanforderungen in eigenem Programmcode formulieren.","og_url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/","og_site_name":"Digital Innovation Blog","article_publisher":"https:\/\/www.facebook.com\/ZEISSDigitalInnovation\/","article_published_time":"2020-01-17T10:34:12+00:00","article_modified_time":"2020-05-28T11:17:57+00:00","og_image":[{"width":565,"height":393,"url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_1.png","type":"image\/png"}],"author":"Bastian Voigt","twitter_card":"summary_large_image","twitter_creator":"@ZEISS_di","twitter_site":"@ZEISS_di","twitter_misc":{"Verfasst von":"Bastian Voigt","Gesch\u00e4tzte Lesezeit":"4\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/","name":"Automatisiertes Layout-Testing von Websites mit Galen - ZEISS Digital Innovation Blog","isPartOf":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/#primaryimage"},"image":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_1.png","datePublished":"2020-01-17T10:34:12+00:00","dateModified":"2020-05-28T11:17:57+00:00","author":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/dcc985b5e05d8c3bc145501514fefbdb"},"description":"Galen ist ein Framework f\u00fcr automatisiertes Layout-Testing von Websites. Der Anwender kann damit die Testanforderungen in eigenem Programmcode formulieren.","breadcrumb":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/#primaryimage","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_1.png","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_1.png","width":565,"height":393,"caption":"Galen Basic Syntax"},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/automatisiertes-layout-testing-von-websites-mit-galen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/"},{"@type":"ListItem","position":2,"name":"Automatisiertes Layout-Testing von Websites mit Galen"}]},{"@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\/dcc985b5e05d8c3bc145501514fefbdb","name":"Bastian Voigt","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\/2020\/05\/voigt_bastian-e1588612523417-150x150.jpg","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/voigt_bastian-e1588612523417-150x150.jpg","caption":"Bastian Voigt"},"description":"Bastian Voigt studierte Wirtschaftsinformatik an der Hochschule f\u00fcr Telekommunikation Leipzig (HfTL). F\u00fcr die ZEISS Digital Innovation arbeitet er im Bereich Web und besch\u00e4ftigt sich dort mit innovativen Themen der Webentwicklung. Privat widmet sich Bastian gern kleineren Projekten mit Raspberry Pi.","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/bastianvoigt\/"}]}},"author_meta":{"display_name":"Bastian Voigt","author_link":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/bastianvoigt\/"},"featured_img":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/202001_Automatisiertes_Layout-Testing_Galen_1.png","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>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/java\/\" class=\"advgb-post-tax-term\">Java<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Qualit\u00e4tssicherung<\/span>","<span class=\"advgb-post-tax-term\">Web<\/span>","<span class=\"advgb-post-tax-term\">Java<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/java\/\" class=\"advgb-post-tax-term\">BrowserStack<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/java\/\" class=\"advgb-post-tax-term\">automatisiertes Testen<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/java\/\" class=\"advgb-post-tax-term\">Galen<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/java\/\" class=\"advgb-post-tax-term\">Test-Framework<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/java\/\" class=\"advgb-post-tax-term\">Selenium Grid<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/java\/\" class=\"advgb-post-tax-term\">Softwaresystemtest<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/java\/\" class=\"advgb-post-tax-term\">Galen Specs Language<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/java\/\" class=\"advgb-post-tax-term\">Softwaretests<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/java\/\" class=\"advgb-post-tax-term\">Testdurchf\u00fchrung<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/java\/\" class=\"advgb-post-tax-term\">Galen-Framework<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/java\/\" class=\"advgb-post-tax-term\">Layout-Test<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/java\/\" class=\"advgb-post-tax-term\">Testautomatisierung<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/java\/\" class=\"advgb-post-tax-term\">Testwerkzeuge<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">BrowserStack<\/span>","<span class=\"advgb-post-tax-term\">automatisiertes Testen<\/span>","<span class=\"advgb-post-tax-term\">Galen<\/span>","<span class=\"advgb-post-tax-term\">Test-Framework<\/span>","<span class=\"advgb-post-tax-term\">Selenium Grid<\/span>","<span class=\"advgb-post-tax-term\">Softwaresystemtest<\/span>","<span class=\"advgb-post-tax-term\">Galen Specs Language<\/span>","<span class=\"advgb-post-tax-term\">Softwaretests<\/span>","<span class=\"advgb-post-tax-term\">Testdurchf\u00fchrung<\/span>","<span class=\"advgb-post-tax-term\">Galen-Framework<\/span>","<span class=\"advgb-post-tax-term\">Layout-Test<\/span>","<span class=\"advgb-post-tax-term\">Testautomatisierung<\/span>","<span class=\"advgb-post-tax-term\">Testwerkzeuge<\/span>"]}},"comment_count":"0","relative_dates":{"created":"Posted 6\u00a0Jahren ago","modified":"Updated 6\u00a0Jahren ago"},"absolute_dates":{"created":"Posted on Januar 17, 2020","modified":"Updated on Mai 28, 2020"},"absolute_dates_time":{"created":"Posted on Januar 17, 2020 10:34 a.m.","modified":"Updated on Mai 28, 2020 11:17 a.m."},"featured_img_caption":"","series_order":"","_links":{"self":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/163","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\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/comments?post=163"}],"version-history":[{"count":9,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/163\/revisions"}],"predecessor-version":[{"id":516,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/163\/revisions\/516"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/media\/448"}],"wp:attachment":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/media?parent=163"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/categories?post=163"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/tags?post=163"},{"taxonomy":"topics","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/topics?post=163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}