{"id":7629,"date":"2023-02-24T11:53:05","date_gmt":"2023-02-24T06:23:05","guid":{"rendered":"https:\/\/innovationm.co\/?p=7629"},"modified":"2023-02-24T11:53:05","modified_gmt":"2023-02-24T06:23:05","slug":"carina-framework","status":"publish","type":"post","link":"https:\/\/www.innovationm.com\/blog\/carina-framework\/","title":{"rendered":"Carina Framework"},"content":{"rendered":"<p><img decoding=\"async\" class=\"wp-image-7630 aligncenter\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/02\/b1-1-300x63.png\" alt=\"\" width=\"319\" height=\"67\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b1-1-300x63.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b1-1-768x162.png 768w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b1-1-624x132.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b1-1.png 852w\" sizes=\"(max-width: 319px) 100vw, 319px\" \/><\/p>\n<p><strong>Carina Open Source Testing Tools :<\/strong><\/p>\n<p>Carina is a Java-based test automation framework that unites all testing layers: Mobile applications (web, native, hybrid), WEB applications, REST services, and Databases.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-7631\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/02\/b2-1.png\" alt=\"\" width=\"268\" height=\"188\" \/><img decoding=\"async\" class=\"alignnone size-full wp-image-7632\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/02\/b3-1.png\" alt=\"\" width=\"272\" height=\"185\" \/><\/p>\n<p><strong>Pros<\/strong><br \/>\n\u25cf Carina Framework is built on top of the most popular open-source solutions like Selenium, Appium, and TestNG allowing to reduce dependence on the specific technology stack.<\/p>\n<p>\u25cf Carina supports all popular browsers (IE, Edge, Safari, Chrome, Firefox) and mobile devices (iOS\/Android). A unique feature for a mobile domain: it reuses test automation code between IOS\/Android up to 70-80%.<\/p>\n<p>\u25cf Carina is cross-platform. Tests may be easily executed both on Unix or Windows OS. All you need is JDK 11 installed.<\/p>\n<p>\u25cf The framework supports different types of databases &#8211; both relational and non-relational (MySQL, SQL Server, Oracle, PostgreSQL), providing the amazing experience of DAO layer implementation using the MyBatis ORM framework.<\/p>\n<p>\u25cf API testing is based on a Freemarker template engine. It enables great flexibility in generating REST requests, and responses are dynamically changed by incoming arguments.<\/p>\n<p>\u25cf Carina allows you to integrate the BDD approach into your test project easily<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Carina Open Source Test Automation Tool Features<\/strong><\/p>\n<p>\u25cf <strong>Works with different browsers<\/strong><br \/>\nCarina works well with Chrome, Safari, Firefox, and more such browsers.<br \/>\n<strong>\u25cf Code reusability<\/strong><br \/>\nFor mobile-based apps, Carina reuses automation code between iOS and Android apps up to 70-80 percent.<br \/>\n<strong>\u25cf Cross-platform Test cases can be executed both on Windows and Linux.<\/strong><br \/>\n<strong>\u25cf Support for different databases<\/strong><br \/>\nCarina works well with both relational and nonrelational databases such as MySQL, SQL Server, Oracle, etc.<br \/>\n\u25cf <strong>Freemarker template<\/strong><br \/>\nTesting in Carina is carried out on this template, which dynamically changes arguments based on incoming requests.<br \/>\n<strong>\u25cf It provides an all-in-one solution for different kinds of software testing<\/strong><br \/>\n<strong>\u25cf Carina open source testing tool supports the parallel execution of test cases<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Cons<\/strong><br \/>\n\u25cf The automation quality depends on how much the developer is experienced.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Getting started<\/strong><\/p>\n<p>\u25cf Install and configure JDK 11+<br \/>\n\u25cf Install and configure Apache Maven 3.6.0+<br \/>\n\u25cf Download the latest version of Eclipse and install the TestNG plugin, maven-dependency-plugin connector, and optionally Lombok.<br \/>\nThe easiest way to initialize a new project is to use the Carina archetype, you will get the correct project structure along with test samples. Run the below command from any empty folder:<\/p>\n<pre>\r\nmvn archetype:generate -DarchetypeGroupId=com.qaprosoft \\\r\n-DarchetypeArtifactId=carina-archetype \\\r\n-DarchetypeVersion=RELEASE \\\r\n-DgroupId=&lt;your_groupId&gt; \\\r\n-DartifactId=&lt;your_artifactId&gt; \\\r\n-Dname=\"&lt;you_project_name&gt;\" \\\r\n-Durl=&lt;your_project_url&gt; \\\r\n-Dversion=&lt;your_project_version&gt;<\/pre>\n<p>If any attribute contains spaces, it should be set in quotes (e.g.: -Dname=&#8221;Hello World&#8221;). In the above Maven command you need to specify 5 attributes, while the first 3 should be left unchanged:<\/p>\n<p><strong>Attribute\u00a0 \u00a0 \u00a0<\/strong> \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<strong>Meaning\u00a0<\/strong> \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<strong> \u00a0 Example<\/strong><br \/>\n-DgroupId\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Company domain in reverse order\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0com.mycompany<br \/>\n-DartifactId\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Java project name\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0project-qa<br \/>\n-Dname\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Name with more details\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0&#8220;Test Automation Project&#8221;<br \/>\n-Durl\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Company URL\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 http:\/\/mycompany.com<br \/>\n-Dversion\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Project version\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a01.0<\/p>\n<p><strong>Zebrunner Reporting Integration<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7633\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/02\/b4-1-300x81.png\" alt=\"\" width=\"337\" height=\"91\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b4-1-300x81.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b4-1-1024x277.png 1024w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b4-1-768x208.png 768w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b4-1-624x169.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b4-1.png 1200w\" sizes=\"(max-width: 337px) 100vw, 337px\" \/><\/p>\n<p>Integrating the Carina framework with Zebrunner is easy!<br \/>\nBefore the start, make sure you have Zebrunner PRO organization tenant or Zebrunner Community Edition installed.<\/p>\n<p>\u25cf Create quality trends reports with dozens of metrics<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7634\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/02\/b5-300x152.jpg\" alt=\"\" width=\"351\" height=\"178\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b5-300x152.jpg 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b5-1024x521.jpg 1024w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b5-768x390.jpg 768w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b5-1536x781.jpg 1536w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b5-624x317.jpg 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b5.jpg 2048w\" sizes=\"(max-width: 351px) 100vw, 351px\" \/><\/p>\n<p>\u25cf Report tests from Carina based project into Zebrunner<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7635\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/02\/b6-1-300x163.png\" alt=\"\" width=\"368\" height=\"200\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b6-1-300x163.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b6-1-1024x556.png 1024w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b6-1-768x417.png 768w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b6-1-624x339.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b6-1.png 1440w\" sizes=\"(max-width: 368px) 100vw, 368px\" \/><\/p>\n<p>\u25cf Track test results in real-time<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7636\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/02\/b7-1-300x163.png\" alt=\"\" width=\"361\" height=\"196\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b7-1-300x163.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b7-1-1024x558.png 1024w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b7-1-768x418.png 768w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b7-1-624x340.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b7-1.png 1440w\" sizes=\"(max-width: 361px) 100vw, 361px\" \/><\/p>\n<p>\u25cf Perform smart test analysis with logs, videos and screenshots<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7637\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/02\/b8-1-300x165.png\" alt=\"\" width=\"365\" height=\"201\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b8-1-300x165.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b8-1-1024x564.png 1024w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b8-1-768x423.png 768w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b8-1-624x343.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b8-1.png 1430w\" sizes=\"(max-width: 365px) 100vw, 365px\" \/><\/p>\n<p><strong>Behavioral Driven Development (BDD)<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7638\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/02\/b9-300x158.png\" alt=\"\" width=\"366\" height=\"193\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b9-300x158.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b9-768x404.png 768w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b9-624x328.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b9.png 1024w\" sizes=\"(max-width: 366px) 100vw, 366px\" \/><\/p>\n<p>In software development, BDD refers to Behavior Driven Development, it is a software development approach. It is an Agile programming development procedure that supports joint efforts among designers, QA, and non-developers or marketing members in a product. It is written in shared languages and improves communication between technical and non-technical teams.<\/p>\n<p><strong>Why use BDD Framework?<\/strong><br \/>\nThe essential role of BDD methodology is to improve correspondence among the partners of the task with the goal that all individuals accurately comprehend each component of the group before the development process begins. This assists with recognizing key situations for every story and furthermore eliminates ambiguities from prerequisites.<br \/>\nTDD may not have the capacity to indicate the specific behavior, however, you accomplish higher caliber with programming code.<br \/>\nBDD is the way to remove the communication gap between technical and non-technical teams because in BDD we write test cases in simple text. This process involves the output, entities, and events that the user cares about.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7639\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/02\/b10-300x261.png\" alt=\"\" width=\"371\" height=\"322\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b10-300x261.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/b10.png 593w\" sizes=\"(max-width: 371px) 100vw, 371px\" \/><\/p>\n<p><strong>BDD architecture<\/strong><\/p>\n<p><strong>Pros of Behavior Driven Development (BDD)<\/strong><\/p>\n<p>\u25cf The BDD uncovers additional capabilities and complexities from the project. As it identified the scenarios at the start so there is less rework at the end of the project.<\/p>\n<p>\u25cf It is the domain-specific language that focuses on the domain of your business and it is also important for defining the project specifications. It avoids misunderstandings and improves communication.<\/p>\n<p>\u25cf As the detailed specifications are written in the starting and we write tests before the code. So this is the plus point for the BDD as the developers only need to focus on implementing which makes the test cases pass. So the developers do not focus on other features<\/p>\n<p>\u25cf The involvement of the tester starts from the start of the project life cycle, the specification phase. Testing is a backout task and it only comes to play when there is a physical product to test. Testers have analytical talent and can start from the start of the project.<\/p>\n<p>\u25cf The Product Owner has knowledge of what we need to deliver as a piece of functionality. The pieces of functionality are broken down into pieces that are much easier to use. This makes the development of the project much easier and removes the complexity of the project in the earlier stages.<\/p>\n<p>\u25cf \u201cShift left\u201d is a popular expression for testing early in the development procedure. Testing prior means fewer bugs later. In BDD, test case definition inherently turns out to be a piece of the necessities stage (for waterfall) or prepping (for Agile). When conduct situations are composed, testing and automation can theoretically start.<\/p>\n<p><strong>Cons of Behavior Driven Development (BDD)<\/strong><\/p>\n<p>\u25cf Creating the Scenarios and maintaining the files needs lots of effort and time. So it is not good for a short project which we need to complete in a short interval of time. But for a long-term project, it\u2019s worth using the BDD approach.<\/p>\n<p>\u25cf We need good communication between the person who is developing the automation code and the person who is writing the features files. A person who is writing the automation needs these files and scenarios for developing the automation script. If they Don\u2019t have a mutual understanding of the files then it\u2019s hard to develop the project.<\/p>\n<p>\u25cf It defines test data which makes it easier to create automated test cases but when used to execute test cases it raises the problem when the test environment is never left in a known state. The test cases are dependent on the external data often causing the problem when we execute the test cases<\/p>\n<p>\u25cf It is very hard to convert Given statements into setup instructions and scripts that put the system into the known state before the When statements are executed.<\/p>\n<p>\u25cf You need to create the document for the BDD project because there are many files and scenarios which need to be understood so that we create documentation.<\/p>\n<p>\u25cf The main drawbacks of BDD are two-fold. Since correspondences between the client and the developer are basic, if the client is not available, it will be hard to work past ambiguities and questions created by the client&#8217;s stories.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Carina Open Source Testing Tools : Carina is a Java-based test automation framework that unites all testing layers: Mobile applications (web, native, hybrid), WEB applications, REST services, and Databases. Pros \u25cf Carina Framework is built on top of the most popular open-source solutions like Selenium, Appium, and TestNG allowing to reduce dependence on the specific [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7640,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[360,71],"tags":[722,834,836,835,837],"class_list":["post-7629","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript","category-mobile","tag-blog","tag-carina","tag-carina-blog","tag-carina-framework","tag-carina-framework-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Carina Framework - InnovationM - Blog<\/title>\n<meta name=\"description\" content=\"Carina is a Java-based test automation framework that unites all testing layers: Mobile applications (web, native, hybrid),\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.innovationm.com\/blog\/carina-framework\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Carina Framework - InnovationM - Blog\" \/>\n<meta property=\"og:description\" content=\"Carina is a Java-based test automation framework that unites all testing layers: Mobile applications (web, native, hybrid),\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.innovationm.com\/blog\/carina-framework\/\" \/>\n<meta property=\"og:site_name\" content=\"InnovationM - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-24T06:23:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/Carina-Framework.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1689\" \/>\n\t<meta property=\"og:image:height\" content=\"950\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"InnovationM Admin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"InnovationM Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/carina-framework\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/carina-framework\\\/\"},\"author\":{\"name\":\"InnovationM Admin\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"headline\":\"Carina Framework\",\"datePublished\":\"2023-02-24T06:23:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/carina-framework\\\/\"},\"wordCount\":1176,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/carina-framework\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/Carina-Framework.png\",\"keywords\":[\"blog\",\"carina\",\"carina blog\",\"carina framework\",\"carina framework blog\"],\"articleSection\":[\"JavaScript\",\"Mobile\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/carina-framework\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/carina-framework\\\/\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/carina-framework\\\/\",\"name\":\"Carina Framework - InnovationM - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/carina-framework\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/carina-framework\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/Carina-Framework.png\",\"datePublished\":\"2023-02-24T06:23:05+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"description\":\"Carina is a Java-based test automation framework that unites all testing layers: Mobile applications (web, native, hybrid),\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/carina-framework\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/carina-framework\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/carina-framework\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/Carina-Framework.png\",\"contentUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/Carina-Framework.png\",\"width\":1689,\"height\":950},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/carina-framework\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Carina Framework\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\",\"name\":\"InnovationM - Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\",\"name\":\"InnovationM Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"caption\":\"InnovationM Admin\"},\"sameAs\":[\"http:\\\/\\\/www.innovationm.com\\\/\"],\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/author\\\/innovationmadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Carina Framework - InnovationM - Blog","description":"Carina is a Java-based test automation framework that unites all testing layers: Mobile applications (web, native, hybrid),","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:\/\/www.innovationm.com\/blog\/carina-framework\/","og_locale":"en_US","og_type":"article","og_title":"Carina Framework - InnovationM - Blog","og_description":"Carina is a Java-based test automation framework that unites all testing layers: Mobile applications (web, native, hybrid),","og_url":"https:\/\/www.innovationm.com\/blog\/carina-framework\/","og_site_name":"InnovationM - Blog","article_published_time":"2023-02-24T06:23:05+00:00","og_image":[{"width":1689,"height":950,"url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/Carina-Framework.png","type":"image\/png"}],"author":"InnovationM Admin","twitter_misc":{"Written by":"InnovationM Admin","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.innovationm.com\/blog\/carina-framework\/#article","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/carina-framework\/"},"author":{"name":"InnovationM Admin","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"headline":"Carina Framework","datePublished":"2023-02-24T06:23:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/carina-framework\/"},"wordCount":1176,"commentCount":0,"image":{"@id":"https:\/\/www.innovationm.com\/blog\/carina-framework\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/Carina-Framework.png","keywords":["blog","carina","carina blog","carina framework","carina framework blog"],"articleSection":["JavaScript","Mobile"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.innovationm.com\/blog\/carina-framework\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.innovationm.com\/blog\/carina-framework\/","url":"https:\/\/www.innovationm.com\/blog\/carina-framework\/","name":"Carina Framework - InnovationM - Blog","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/carina-framework\/#primaryimage"},"image":{"@id":"https:\/\/www.innovationm.com\/blog\/carina-framework\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/Carina-Framework.png","datePublished":"2023-02-24T06:23:05+00:00","author":{"@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"description":"Carina is a Java-based test automation framework that unites all testing layers: Mobile applications (web, native, hybrid),","breadcrumb":{"@id":"https:\/\/www.innovationm.com\/blog\/carina-framework\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.innovationm.com\/blog\/carina-framework\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.innovationm.com\/blog\/carina-framework\/#primaryimage","url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/Carina-Framework.png","contentUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/02\/Carina-Framework.png","width":1689,"height":950},{"@type":"BreadcrumbList","@id":"https:\/\/www.innovationm.com\/blog\/carina-framework\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.innovationm.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Carina Framework"}]},{"@type":"WebSite","@id":"https:\/\/www.innovationm.com\/blog\/#website","url":"https:\/\/www.innovationm.com\/blog\/","name":"InnovationM - Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.innovationm.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed","name":"InnovationM Admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","caption":"InnovationM Admin"},"sameAs":["http:\/\/www.innovationm.com\/"],"url":"https:\/\/www.innovationm.com\/blog\/author\/innovationmadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/7629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/comments?post=7629"}],"version-history":[{"count":0,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/7629\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media\/7640"}],"wp:attachment":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media?parent=7629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/categories?post=7629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/tags?post=7629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}