{"id":364,"date":"2020-01-17T12:48:00","date_gmt":"2020-01-17T12:48:00","guid":{"rendered":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/?p=364"},"modified":"2021-01-04T16:25:25","modified_gmt":"2021-01-04T16:25:25","slug":"automated-website-layout-testing-with-galen","status":"publish","type":"post","link":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-galen\/","title":{"rendered":"Automated Website Layout Testing with Galen"},"content":{"rendered":"\n<p>Implementing tests in software projects is an important part of the development process. Due to their nature, they can be run in parallel and always in the same way without necessitating additional efforts. This facilitates a quick and cost-effective statement on the quality of the software system, which in turn improves the general quality of the software system as a whole.<\/p>\n\n\n\n<p>Testing on the visual level is important as well. Clients usually provide clear requirements and specifications for the layout of an application or website, and for the various devices, browsers, and resolutions they support. Manually testing these specifications is extremely laborious, and even partly automated testing is often difficult because the screenshots of the application have to be compared by hand for each of the various devices, browsers, and resolutions.<\/p>\n\n\n\n<p>Galen Framework wants to solve this problem by allowing the user to formulate their test specifications using their own program code, and thus to implement a fully automated test coverage for the layout of an application.<\/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\">Galen Framework<\/h2>\n\n\n\n<p>Galen Framework is a framework for the automated testing of a website\u2019s layout. Due to its compatibility with Selenium Grid, it can be integrated into various test environments such as BrowserStack. If, for example, BrowserStack is used to run various tests of different browsers, devices and resolutions, the layout tests can run simultaneously using Galen.<\/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>Overview of Galen\u2019s key features:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Integration into Selenium Grid<br><\/strong>Integration into other test tools such as BrowserStack or Sauce Labs is possible<\/li><li><strong>Responsive Design<br><\/strong>Galen\u2019s design takes the importance of responsive design into account and is meant to simplify the implementation of such tests<\/li><li><strong><strong>Understandable language for non-users, beginners and professionals<\/strong><br><\/strong>The Galen Specs language allows for complex specifications for the layout, including different browser window sizes<\/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>The Galen Specs language allows for the description of complex layouts. In addition to displayed controls, this also includes the definition of various screen sizes and browsers. Advantages of this language include the simple syntactic definition of the test specifications and the good readability for people who are not familiar with the framework and its syntax.&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 decoding=\"async\" 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>Fugire 1: Basic syntax (source: 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\">Advanced techniques<\/h2>\n\n\n\n<p>More advanced users have various techniques at their disposal to help them optimize the specifications. For example, the framework provides comprehensive features for creating visual tests such as image comparisons and verification of color schemes.&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 decoding=\"async\" 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>Figure 2: Advanced syntax (source: 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\">Testing for professionals<\/h2>\n\n\n\n<p>Experienced users can furthermore formulate their own, more complex expressions in order to formulate several test queries in a single line. This makes it possible to write both clear specifications and an easily maintainable and reliable test code.&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 decoding=\"async\" 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 Test Code\" class=\"wp-image-450\"\/><figcaption><em>Figure 3: Test like a pro (source: 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\">Test documentation<\/h2>\n\n\n\n<p>The framework provides three features for documenting the test results:<\/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 generates an HTML test report<\/li><li>It contains all the test objects of a page<\/li><li><a rel=\"noreferrer noopener\" href=\"http:\/\/galenframework.com\/public\/samples\/reports\/report.html\" target=\"_blank\">Example<\/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>In the case of faulty tests, the framework highlights the respective element<\/li><li>This makes it easier to find the error<\/li><li><a rel=\"noreferrer noopener\" href=\"http:\/\/galenframework.com\/public\/samples\/report-error-highlight.png\" target=\"_blank\">Example<\/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>Galen creates image comparisons for visual checks<\/li><li>Inconsistent areas are highlighted<\/li><li><a rel=\"noreferrer noopener\" href=\"http:\/\/galenframework.com\/public\/samples\/report-image-comparison-screenshot.png\" target=\"_blank\">Example<\/a><\/li><\/ul>\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\">Support of test runs in various languages<\/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>The basic syntax is meant to facilitate quick but powerful access. With this syntax, it is relatively simple to select various browsers such as Firefox, Chrome or Internet Explorer for the test run, or to switch to Selenium Grid.<\/p>\n\n\n\n<p>To access pages that are more difficult to access, e.g. because they are protected by security mechanisms, it is possible to inject one\u2019s own javascript on the client side. By injecting one\u2019s own javascript on the test page, it is possible to prepare the website for the layout tests to be run.&nbsp;<a rel=\"noreferrer noopener\" href=\"http:\/\/galenframework.com\/docs\/reference-galen-test-suite-syntax\/\" target=\"_blank\">\u00bb Galen Test Suite Syntax<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" 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>Figure 4: Test execution with basic syntax (source: 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>Using JavaScript allows the user to develop their own test framework and thus map out complex issues. Galen Framework provides the following four features to implement JavaScript tests.<br><a rel=\"noreferrer noopener\" href=\"http:\/\/galenframework.com\/docs\/reference-javascript-tests-guide\/\" target=\"_blank\">\u00bb JavaScript Tests Guide<\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Implementing events before and after the test suites<\/li><li>Filtering and reordering test sequences<\/li><li>Managing custom data providers<\/li><li>Parameterization of tests using arrays or maps<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" 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>Figure 5: Test execution with JavaScript tests (source: 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>The language on which Galen is based is Java. Needless to say, therefore, that an API for Java is provided, and that a Java virtual machine needs to be installed for running the tests. The Java API can be integrated into Maven projects using the central Maven repository.&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/galenframework\/galen-sample-java-tests\" target=\"_blank\">\u00bb Git project example<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img decoding=\"async\" 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\"\/><figcaption><em>Figure 6: Test execution with Java API (source: 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\">Conclusion<\/h2>\n\n\n\n<p>Running layout tests is a complex task, and the higher the number of tests, the more resources it will use up in software projects. Galen Framework provides a solution for the automated execution and documentation of layout tests that furthermore offers convenient integration into existing selenium-based and other test strategies. Thanks to its simple, human-readable syntax, virtually all project participants can understand it, i.e. it supports interdisciplinary cooperation in the software project.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Galen is a framework for automated website layout testing. With Galen the user can formulate his test specifications using his own program code.<\/p>\n","protected":false},"author":54,"featured_media":367,"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":[7,8,12],"tags":[111,113,115,117,124,125,126,127,128,129,130,131,132],"topics":[],"class_list":["post-364","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-quality-assurance","category-web","category-java","tag-browserstack","tag-galen","tag-selenium-grid","tag-galen-specs-language","tag-automated-testing","tag-test-framework-2","tag-software-system-test","tag-software-tests","tag-test-implementation","tag-galen-framework-2","tag-layout-test-2","tag-test-automation","tag-test-tools"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Automated layout testing with Galen - ZEISS Digital Innovation Blog<\/title>\n<meta name=\"description\" content=\"Galen is a framework for automated website layout testing. With Galen the user can formulate his test specifications using his own program code.\" \/>\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\/en\/automated-website-layout-testing-with-galen\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automated layout testing with Galen - ZEISS Digital Innovation Blog\" \/>\n<meta property=\"og:description\" content=\"Galen is a framework for automated website layout testing. With Galen the user can formulate his test specifications using his own program code.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-galen\/\" \/>\n<meta property=\"og:site_name\" content=\"Digital Innovation Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-17T12:48:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-01-04T16:25:25+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:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bastian Voigt\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-galen\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-galen\/\",\"name\":\"Automated layout testing with Galen - ZEISS Digital Innovation Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-galen\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-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-17T12:48:00+00:00\",\"dateModified\":\"2021-01-04T16:25:25+00:00\",\"author\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#\/schema\/person\/68ec826470e38ff5124f8945d3f15ea7\"},\"description\":\"Galen is a framework for automated website layout testing. With Galen the user can formulate his test specifications using his own program code.\",\"breadcrumb\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-galen\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-galen\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-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\/en\/automated-website-layout-testing-with-galen\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automated Website Layout Testing with Galen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#website\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/\",\"name\":\"Digital Innovation Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#\/schema\/person\/68ec826470e38ff5124f8945d3f15ea7\",\"name\":\"Bastian Voigt\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-content\/uploads\/sites\/3\/2020\/05\/voigt_bastian-e1589204801232-150x150.jpg\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-content\/uploads\/sites\/3\/2020\/05\/voigt_bastian-e1589204801232-150x150.jpg\",\"caption\":\"Bastian Voigt\"},\"description\":\"Bastian Voigt studied Business Informatics at the University of Applied Sciences Leipzig. He works for ZEISS Digital Innovation in the web sector, where he focuses on innovative topics in web development.Bastian likes to dedicate himself to smaller projects with Raspberry Pi.\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/author\/enbastianvoigt\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Automated layout testing with Galen - ZEISS Digital Innovation Blog","description":"Galen is a framework for automated website layout testing. With Galen the user can formulate his test specifications using his own program code.","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\/en\/automated-website-layout-testing-with-galen\/","og_locale":"en_US","og_type":"article","og_title":"Automated layout testing with Galen - ZEISS Digital Innovation Blog","og_description":"Galen is a framework for automated website layout testing. With Galen the user can formulate his test specifications using his own program code.","og_url":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-galen\/","og_site_name":"Digital Innovation Blog","article_published_time":"2020-01-17T12:48:00+00:00","article_modified_time":"2021-01-04T16:25:25+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_misc":{"Written by":"Bastian Voigt","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-galen\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-galen\/","name":"Automated layout testing with Galen - ZEISS Digital Innovation Blog","isPartOf":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-galen\/#primaryimage"},"image":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-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-17T12:48:00+00:00","dateModified":"2021-01-04T16:25:25+00:00","author":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#\/schema\/person\/68ec826470e38ff5124f8945d3f15ea7"},"description":"Galen is a framework for automated website layout testing. With Galen the user can formulate his test specifications using his own program code.","breadcrumb":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-galen\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-galen\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/automated-website-layout-testing-with-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\/en\/automated-website-layout-testing-with-galen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/"},{"@type":"ListItem","position":2,"name":"Automated Website Layout Testing with Galen"}]},{"@type":"WebSite","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#website","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/","name":"Digital Innovation Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#\/schema\/person\/68ec826470e38ff5124f8945d3f15ea7","name":"Bastian Voigt","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#\/schema\/person\/image\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-content\/uploads\/sites\/3\/2020\/05\/voigt_bastian-e1589204801232-150x150.jpg","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-content\/uploads\/sites\/3\/2020\/05\/voigt_bastian-e1589204801232-150x150.jpg","caption":"Bastian Voigt"},"description":"Bastian Voigt studied Business Informatics at the University of Applied Sciences Leipzig. He works for ZEISS Digital Innovation in the web sector, where he focuses on innovative topics in web development.Bastian likes to dedicate himself to smaller projects with Raspberry Pi.","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/author\/enbastianvoigt\/"}]}},"author_meta":{"display_name":"Bastian Voigt","author_link":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/author\/enbastianvoigt\/"},"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\/en\/category\/quality-assurance\/\" class=\"advgb-post-tax-term\">Quality Assurance<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/web\/\" class=\"advgb-post-tax-term\">Web<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/java\/\" class=\"advgb-post-tax-term\">Java<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Quality Assurance<\/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\/en\/category\/java\/\" class=\"advgb-post-tax-term\">BrowserStack<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/java\/\" class=\"advgb-post-tax-term\">Galen<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/java\/\" class=\"advgb-post-tax-term\">Selenium Grid<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/java\/\" class=\"advgb-post-tax-term\">Galen Specs Language<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/java\/\" class=\"advgb-post-tax-term\">automated testing<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/java\/\" class=\"advgb-post-tax-term\">test framework<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/java\/\" class=\"advgb-post-tax-term\">software system test<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/java\/\" class=\"advgb-post-tax-term\">software tests<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/java\/\" class=\"advgb-post-tax-term\">test implementation<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/java\/\" class=\"advgb-post-tax-term\">Galen framework<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/java\/\" class=\"advgb-post-tax-term\">layout test<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/java\/\" class=\"advgb-post-tax-term\">test automation<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/java\/\" class=\"advgb-post-tax-term\">test tools<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">BrowserStack<\/span>","<span class=\"advgb-post-tax-term\">Galen<\/span>","<span class=\"advgb-post-tax-term\">Selenium Grid<\/span>","<span class=\"advgb-post-tax-term\">Galen Specs Language<\/span>","<span class=\"advgb-post-tax-term\">automated testing<\/span>","<span class=\"advgb-post-tax-term\">test framework<\/span>","<span class=\"advgb-post-tax-term\">software system test<\/span>","<span class=\"advgb-post-tax-term\">software tests<\/span>","<span class=\"advgb-post-tax-term\">test implementation<\/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\">test automation<\/span>","<span class=\"advgb-post-tax-term\">test tools<\/span>"]}},"comment_count":"0","relative_dates":{"created":"Posted 6 years ago","modified":"Updated 5 years ago"},"absolute_dates":{"created":"Posted on January 17, 2020","modified":"Updated on January 4, 2021"},"absolute_dates_time":{"created":"Posted on January 17, 2020 12:48 pm","modified":"Updated on January 4, 2021 4:25 pm"},"featured_img_caption":"","series_order":"","_links":{"self":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/posts\/364","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/users\/54"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/comments?post=364"}],"version-history":[{"count":6,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/posts\/364\/revisions"}],"predecessor-version":[{"id":1238,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/posts\/364\/revisions\/1238"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/media\/367"}],"wp:attachment":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/media?parent=364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/categories?post=364"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/tags?post=364"},{"taxonomy":"topics","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/topics?post=364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}