{"id":2136,"date":"2013-08-11T15:04:24","date_gmt":"2013-08-11T09:34:24","guid":{"rendered":"http:\/\/www.automationrepository.com\/?page_id=2136"},"modified":"2013-08-25T16:06:06","modified_gmt":"2013-08-25T10:36:06","slug":"qtp-framework","status":"publish","type":"page","link":"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/","title":{"rendered":"QTP Framework Tutorials \u2013 Framework Types, Examples &#038; Sample Code"},"content":{"rendered":"<p><span><br \/>\n<\/span><\/p>\n<div style=\"font-family: proxima-nova, helvetica neue, helvetica, sans-serif; font-size: 42pt; font-weight: bold; color: #a9cc6b; text-align: center;\">QTP Framework Tutorials<\/div>\n<div style=\"clear: both;\"><\/div>\n<div style=\"font-family: 'Droid Sans', sans-serif; font-size: 18pt; font-weight: bold; color: #919194; line-height: 50px; text-align: center;\">Everything you wanted to know about automation frameworks with QTP<\/div>\n<p><span><br \/>\n<\/span><br \/>\n<span><br \/>\n<\/span><\/p>\n<div style=\"font-family: 'Droid Sans', sans-serif; font-size: 16pt; color: #000000; line-height: 26px; text-align: center;\">&#8220;<strong>QTP Framework<\/strong>, or in general, a test automation framework, is a <strong>\u2018set of guidelines\u2019<\/strong> which you can follow during scripting to achieve some <strong>\u2018desired\u2019 results<\/strong>. These desired results can anything like &#8211; the code should be easy to understand and maintain, it should be re-usable and easily scalable&#8221;<\/div>\n<p><span><br \/>\n<\/span><br \/>\n<span><br \/>\n<\/span><\/p>\n<h1>Some useful guidelines to create automation frameworks<\/h1>\n<div style=\"font-size: 12pt; line-height: 22px;\">Listed below are few common guidelines that will help you get started with creating your own automation frameworks in QTP. All these guidelines have been covered in detail in the individual articles on QTP frameworks.<\/div>\n<p><strong><br \/>\n<\/strong><\/p>\n<div style=\"float: left; font-size: 12pt; width: 25%; line-height: 24px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" alt=\"QTP Framework Guidelines\" src=\"https:\/\/www.automationrepository.com\/wordpress\/wp-content\/uploads\/ar\/qtp-framework-guidelines.png\" width=\"143\" height=\"191\" \/><\/div>\n<div style=\"float: right; font-size: 12pt; width: 75%; line-height: 40px;\"><strong>a)<\/strong> coding standards, comments structure and variable naming conventions<br \/>\n<strong>b)<\/strong> structure of excel data sheets, grouping of workbooks and individual sheets<br \/>\n<strong>c)<\/strong> folder structure for test scripts, reusable libraries and object repositories<br \/>\n<strong>d)<\/strong> storing test run results, overwriting results or saving the results separately<br \/>\n<strong>e)<\/strong> accessing and updating repositories, libraries by different team members<br \/>\n<strong>f)<\/strong> and many more such features depending upon individual requirements<\/div>\n<div style=\"clear: both;\"><\/div>\n<p><span><br \/>\n<\/span><br \/>\n<span><br \/>\n<\/span><\/p>\n<h1>Salient features of a good automation framework<\/h1>\n<div style=\"clear: both;\"><\/div>\n<div style=\"float: left; font-size: 12pt; line-height: 25px; width: 70%;\">a) The framework should be such that it helps to achieve maximum possible re-use.<br \/>\n<em> <\/em><br \/>\nb) The framework code should be easy to read, understand and maintain.<br \/>\n<em> <\/em><br \/>\nc) All components in the framework such as test cases, function libraries, object repositories, data sheets, test results etc should be stored in separate folders.<br \/>\n<em> <\/em><br \/>\nd) <strong><\/strong>Test data should be kept separate from code, preferably in excel sheets.<br \/>\n<em> <\/em><br \/>\ne) Error handling and batch execution should be added to the framework.<br \/>\n<em> <\/em><br \/>\nf) Auto-email (or sms) sending feature can also be implemented in the framework.<\/div>\n<div style=\"float: right; font-size: 12pt; line-height: 24px; width: 30%;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" alt=\"QTP Framework Guidelines\" src=\"https:\/\/www.automationrepository.com\/wordpress\/wp-content\/uploads\/ar\/qtp-framework-features-1.png\" width=\"143\" height=\"191\" \/><\/div>\n<div style=\"clear: both;\"><\/div>\n<p><span><br \/>\n<\/span><br \/>\n<span><br \/>\n<\/span><\/p>\n<div id=\"qtp-framework-pdf\" style=\"background-color: #ffffff; float: left; width: 100%; text-decoration: none;\">\n<div style=\"font-family: proxima-nova, helvetica neue, helvetica, sans-serif; font-size: 28pt; font-weight: bold; color: #1c1d21; text-align: center;\">Different types of QTP frameworks<\/div>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\" aligncenter\" alt=\"QTP Framework Types\" src=\"https:\/\/www.automationrepository.com\/wordpress\/wp-content\/uploads\/ar\/qtp-framework-different-types.png\" width=\"438\" height=\"475\" \/><\/p>\n<p><span><br \/>\n<\/span><br \/>\n<span><br \/>\n<\/span><\/p>\n<div id=\"qtp-framework-pdf\" style=\"background-color: #eeeff7; float: left; width: 100%; text-decoration: none;\">\n<div style=\"font-family: proxima-nova, helvetica neue, helvetica, sans-serif; font-size: 28pt; font-weight: bold; color: #1c1d21; text-align: center;\">Introduction to QTP Frameworks (eBook)<\/div>\n<div style=\"clear: both;\"><\/div>\n<div style=\"font-family: 'Droid Sans', sans-serif; font-size: 16pt; color: #31353d; line-height: 30px; text-align: center;\">\n<p>This eBook will provide you with a quick introduction about each of the automation frameworks. This will include the features of the framework, its flow, and its advantages and disadvantages<\/p>\n<p><a title=\"Basics of QTP Framework (PDF)\" href=\"https:\/\/www.automationrepository.com\/wordpress\/download-code\/qtp-framework-pdf-ebook.pdf\" target=\"_blank\">eBook (PDF) \u2013 Basics of QTP Framework<\/a><\/p>\n<\/div>\n<\/div>\n<p><span><br \/>\n<\/span><br \/>\n<span><br \/>\n<\/span><\/p>\n<div id=\"qtp-linear-framework\" style=\"background-color: #e7e8d1; float: left; width: 100%; text-decoration: none;\">\n<div style=\"font-family: proxima-nova, helvetica neue, helvetica, sans-serif; font-size: 28pt; font-weight: bold; color: #8e001c; text-align: center;\">QTP Linear Framework<\/div>\n<div style=\"clear: both;\"><\/div>\n<div style=\"font-family: 'Droid Sans', sans-serif; font-size: 16pt; color: #424242; line-height: 30px; text-align: center;\">\n<p>This is the most basic framework where you write your script as is. That is, with this approach you write all the steps one after the other in a linear fashion.<\/p>\n<p><a title=\"QTP Linear Framework \u2013 Complete Reference with Example\" href=\"http:\/\/www.automationrepository.com\/2012\/04\/qtp-framework-tutorial-qtp-linear-framework\/\" target=\"_blank\">QTP Linear Framework \u2013 Complete Guide with AOM example<\/a> <strong>[sample code available]<\/strong><\/p>\n<\/div>\n<\/div>\n<p><span><br \/>\n<\/span><br \/>\n<span><br \/>\n<\/span><\/p>\n<div id=\"qtp-modular-framework\" style=\"background-color: #f2e8dc; float: left; width: 100%; text-decoration: none;\">\n<div style=\"font-family: proxima-nova, helvetica neue, helvetica, sans-serif; font-size: 28pt; font-weight: bold; color: #023859; text-align: center;\">QTP Modular Framework<\/div>\n<div style=\"clear: both;\"><\/div>\n<div style=\"font-family: 'Droid Sans', sans-serif; font-size: 16pt; color: #03658c; line-height: 30px; text-align: center;\">\n<p>With this framework, you write the entire code into different functions and then you call these functions wherever required. These functions can be both reusable and non-reusable.<\/p>\n<p><a title=\"QTP Frameworks : Designing QTP Modular Framework from scratch\" href=\"http:\/\/www.automationrepository.com\/2012\/04\/qtp-framework-tutorial-using-qtp-modular-framework\/\" target=\"_blank\">Designing QTP modular framework from scratch<\/a> <strong>[<strong>sample code available<\/strong>]<\/strong><\/p>\n<\/div>\n<\/div>\n<p><span><br \/>\n<\/span><br \/>\n<span><br \/>\n<\/span><\/p>\n<div id=\"qtp-data-driven-framework\" style=\"background-color: #f1f2f2; float: left; width: 100%; text-decoration: none;\">\n<div style=\"font-family: proxima-nova, helvetica neue, helvetica, sans-serif; font-size: 28pt; font-weight: bold; color: #003050; text-align: center;\">QTP Data Driven Framework<\/div>\n<div style=\"clear: both;\"><\/div>\n<div style=\"font-family: 'Droid Sans', sans-serif; font-size: 16pt; color: #00a5b6; line-height: 30px; text-align: center;\">\n<p>In this type of QTP framework, your data is kept separate from the code, preferably in excel files. This helps you execute the same code for multiple sets of data.<\/p>\n<p><a title=\"Data Driven Framework in QTP : The Complete Guide \u2013 Part 1\" href=\"http:\/\/www.automationrepository.com\/2012\/05\/qtp-data-driven-framework-design-with-examples\/\" target=\"_blank\">Basics of Data Driven Framework in QTP &#8211; Part 1<\/a> <strong>[<strong>sample code available<\/strong>]<\/strong><br \/>\n<a title=\"Selecting Data Sheet format for a Data Driven Framework in QTP\" href=\"http:\/\/www.automationrepository.com\/2012\/05\/qtp-data-driven-framework-data-sheet-structure-or-format\/\" target=\"_blank\">How to Select appropriate Data Sheet format for Data Driven Framework<\/a><br \/>\n<a title=\"Designing Data Driven Framework in QTP \u2013 Part 2\" href=\"http:\/\/www.automationrepository.com\/2012\/06\/qtp-data-driven-framework-architecture-part-2\/\" target=\"_blank\">Designing Data Driven Framework that uses Excel Sheets \u2013 Part 2<\/a> <strong>[<strong>sample code available<\/strong>]<\/strong><br \/>\n<a title=\"Designing Data Driven Framework in QTP \u2013 Part 3\" href=\"http:\/\/www.automationrepository.com\/2012\/06\/data-driven-framework-in-qtp-part-3\/\" target=\"_blank\">Designing Data Driven Framework that uses Excel Sheets \u2013 Part 3<\/a> <strong>[<strong>sample code available<\/strong>]<\/strong><\/p>\n<\/div>\n<\/div>\n<p><span><br \/>\n<\/span><br \/>\n<span><br \/>\n<\/span><\/p>\n<div id=\"qtp-keyword-driven-framework\" style=\"background-color: #e9f1f2; float: left; width: 100%; text-decoration: none;\">\n<div style=\"font-family: proxima-nova, helvetica neue, helvetica, sans-serif; font-size: 28pt; font-weight: bold; color: #00010d; text-align: center;\">QTP Keyword Driven Framework<\/div>\n<div style=\"clear: both;\"><\/div>\n<div style=\"font-family: 'Droid Sans', sans-serif; font-size: 16pt; color: #2d4859; line-height: 30px; text-align: center;\">\n<p>In this type of QTP Framework, you can create different keywords and associate different actions with these keywords. When QTP encounters a particular framework, it will execute the action associated with that framework.<\/p>\n<p><a title=\"Keyword Driven Framework in QTP \u2013 Part 1\" href=\"http:\/\/www.automationrepository.com\/2012\/07\/designing-keyword-driven-framework-in-qtp-with-examples\/\" target=\"_blank\">Basics of Keyword Driven Framework in QTP<\/a><br \/>\n<a title=\"Designing Keyword Driven Framework mapped at Operation Level \u2013 Part 1\" href=\"http:\/\/www.automationrepository.com\/2012\/08\/keyword-driven-framework-mapped-at-operation-level-part-1\/\" target=\"_blank\">Keyword Driven Framework mapped at Operation Level \u2013 Part 1<\/a><br \/>\n<a title=\"Designing Keyword Driven Framework mapped at Operation Level \u2013 Part 2\" href=\"http:\/\/www.automationrepository.com\/2012\/09\/designing-keyword-driven-framework-mapped-at-operation-level-part-2\/\" target=\"_blank\">Keyword Driven Framework mapped at Operation Level \u2013 Part 2<\/a> <strong>[sample code available]<\/strong><br \/>\n<a title=\"Designing Keyword Driven Framework mapped at Functional Level \u2013 Part 1\" href=\"http:\/\/www.automationrepository.com\/2012\/10\/desigining-keyword-driven-framework-mapped-at-functional-level-part-1\/\" target=\"_blank\">Keyword Driven Framework mapped at Functional Level \u2013 Part 1<\/a><br \/>\n<a title=\"Designing Keyword Driven Framework mapped at Functional Level \u2013 Part 2\" href=\"http:\/\/www.automationrepository.com\/2012\/11\/desigining-keyword-driven-framework-mapped-at-functional-level-part-2\/\" target=\"_blank\">Keyword Driven Framework mapped at Functional Level \u2013 Part 2<\/a> <strong>[sample code available]<\/strong><\/p>\n<\/div>\n<\/div>\n<p><span><br \/>\n<\/span><br \/>\n<span><br \/>\n<\/span><\/p>\n<div id=\"qtp-hybrid-framework\" style=\"background-color: #f2f7cd; float: left; width: 100%; text-decoration: none;\">\n<div style=\"font-family: proxima-nova, helvetica neue, helvetica, sans-serif; font-size: 28pt; font-weight: bold; color: #122b1c; text-align: center;\">QTP Hybrid Framework<\/div>\n<div style=\"clear: both;\"><\/div>\n<div style=\"font-family: 'Droid Sans', sans-serif; font-size: 16pt; color: #467339; line-height: 30px; text-align: center;\">\n<p>Hybrid framework is a combination of one or more frameworks discussed above. Based upon your requirements, you can combine the features of any of the above frameworks. The resultant framework would be a Hybrid framework.<\/p>\n<p><a title=\"Hybrid Framework in QTP \u2013 The Basics\" href=\"http:\/\/www.automationrepository.com\/2013\/07\/qtp-hybrid-framework-the-basics\/\" target=\"_blank\">Architecture and features of a Hybrid Framework<\/a><br \/>\n<a title=\"Designing Hybrid Framework in QTP \u2013 Part 1\" href=\"http:\/\/www.automationrepository.com\/2013\/07\/designing-hybrid-framework-in-qtp-part-1\/\" target=\"_blank\">Designing a Hybrid Framework in QTP \u2013 Part 1<\/a><br \/>\n<a title=\"Designing Hybrid Framework in QTP \u2013 Part 2\" href=\"http:\/\/www.automationrepository.com\/2013\/08\/designing-hybrid-framework-in-qtp-part-2\/\" target=\"_blank\">Designing Hybrid Framework in QTP \u2013 Part 2<\/a><br \/>\n<a title=\"Designing Hybrid Framework in QTP \u2013 Part 3\" href=\"http:\/\/www.automationrepository.com\/2013\/08\/designing-hybrid-framework-in-qtp-part-3\/\" target=\"_blank\">Designing Hybrid Framework in QTP \u2013 Part 3<\/a><\/p>\n<\/div>\n<\/div>\n<p><span><br \/>\n<\/span><br \/>\n<span><br \/>\n<\/span><\/p>\n<div id=\"qtp-bpt-framework\" style=\"background-color: #f5f5f5; float: left; width: 100%; text-decoration: none;\">\n<div style=\"font-family: proxima-nova, helvetica neue, helvetica, sans-serif; font-size: 28pt; font-weight: bold; color: #555555; text-align: center;\">Business Process Testing (BPT) Framework<\/div>\n<div style=\"clear: both;\"><\/div>\n<div style=\"font-family: 'Droid Sans', sans-serif; font-size: 16pt; color: #c33f4a; line-height: 30px; text-align: center;\">\n<p>In this QTP Framework, you can divide your test case flow into multiple Business Components. You can then re-use these components as many times as required. You need Quality Center access in order to use BPT Framework. Also you need to acquire BPT license from HP in order to use this framework.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>QTP Framework Tutorials Everything you wanted to know about automation frameworks with QTP &#8220;QTP Framework, or in general, a test automation framework, is a \u2018set of guidelines\u2019 which you can follow during scripting to achieve some \u2018desired\u2019 results. These desired results can anything like &#8211; the code should be easy to understand and maintain, it &hellip; <a href=\"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/\">Read more <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"template-full.php","meta":{"footnotes":""},"class_list":["post-2136","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>QTP Framework Tutorials \u2013 Framework Types, Examples &amp; Sample Code - XX<\/title>\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.automationrepository.com\/wordpress\/qtp-framework\/\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/\",\"url\":\"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/\",\"name\":\"QTP Framework Tutorials \u2013 Framework Types, Examples & Sample Code - XX\",\"isPartOf\":{\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.automationrepository.com\/wordpress\/wp-content\/uploads\/ar\/qtp-framework-guidelines.png\",\"datePublished\":\"2013-08-11T09:34:24+00:00\",\"dateModified\":\"2013-08-25T10:36:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/#primaryimage\",\"url\":\"https:\/\/www.automationrepository.com\/wordpress\/wp-content\/uploads\/ar\/qtp-framework-guidelines.png\",\"contentUrl\":\"https:\/\/www.automationrepository.com\/wordpress\/wp-content\/uploads\/ar\/qtp-framework-guidelines.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.automationrepository.com\/wordpress\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"QTP Framework Tutorials \u2013 Framework Types, Examples &#038; Sample Code\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/#website\",\"url\":\"https:\/\/www.automationrepository.com\/wordpress\/\",\"name\":\"XX\",\"description\":\"\\r\\nasas\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.automationrepository.com\/wordpress\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"QTP Framework Tutorials \u2013 Framework Types, Examples & Sample Code - XX","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.automationrepository.com\/wordpress\/qtp-framework\/","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/","url":"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/","name":"QTP Framework Tutorials \u2013 Framework Types, Examples & Sample Code - XX","isPartOf":{"@id":"https:\/\/www.automationrepository.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/#primaryimage"},"image":{"@id":"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/#primaryimage"},"thumbnailUrl":"https:\/\/www.automationrepository.com\/wordpress\/wp-content\/uploads\/ar\/qtp-framework-guidelines.png","datePublished":"2013-08-11T09:34:24+00:00","dateModified":"2013-08-25T10:36:06+00:00","breadcrumb":{"@id":"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/#primaryimage","url":"https:\/\/www.automationrepository.com\/wordpress\/wp-content\/uploads\/ar\/qtp-framework-guidelines.png","contentUrl":"https:\/\/www.automationrepository.com\/wordpress\/wp-content\/uploads\/ar\/qtp-framework-guidelines.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.automationrepository.com\/wordpress\/qtp-framework\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.automationrepository.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"QTP Framework Tutorials \u2013 Framework Types, Examples &#038; Sample Code"}]},{"@type":"WebSite","@id":"https:\/\/www.automationrepository.com\/wordpress\/#website","url":"https:\/\/www.automationrepository.com\/wordpress\/","name":"XX","description":"\r\nasas","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.automationrepository.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/pages\/2136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/comments?post=2136"}],"version-history":[{"count":38,"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/pages\/2136\/revisions"}],"predecessor-version":[{"id":2139,"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/pages\/2136\/revisions\/2139"}],"wp:attachment":[{"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/media?parent=2136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}