{"id":56873,"date":"2016-08-10T15:21:57","date_gmt":"2016-08-10T15:21:57","guid":{"rendered":"http:\/\/webkul.com\/blog\/?p=56873"},"modified":"2017-01-02T11:46:16","modified_gmt":"2017-01-02T11:46:16","slug":"functional-testing-casperjs","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/","title":{"rendered":"Functional testing with casperjs"},"content":{"rendered":"<p><strong>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u201cQUALITY MEANS DOING\u00a0IT RIGHT, EVEN\u00a0WHEN\u00a0NO ONE\u00a0IS\u00a0LOOKING\u201d<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Introduction:\u00a0<\/strong>CasperJS is a navigation and functional testing utility for PhantomJS and SlimerJS, which is written\u00a0in javascript. These days functional development tests are\u00a0vital part of any application development. These tests help\u00a0developer to test the application for determining the bugs and ensuring the quality\u00a0of application.<\/p>\n<p>With the help of casperJS, automated testing for web application become very easy and normal tests can be done in a minute and that too, there is no need of traditional\u00a0browsers and\u00a0human intervention. It accomplishes the tests without invoking\u00a0any browser action like scroll or scale the page, follow a link, or click and submission of a form etc.<\/p>\n<p><strong>Installation:\u00a0<\/strong>It has some prerequisites as below.<\/p>\n<ul>\n<li>PhantomJS 1.9.1 or greater.<\/li>\n<li>Python 2.6 or greater.<\/li>\n<li>NodeJS (if using npm\u00a0to install)<\/li>\n<\/ul>\n<p>You can install CasperJS using npm\u00a0(NodeJS Package Manager):<code class=\" language-markup\"><br \/>\n<\/code><\/p>\n<p><strong>$<\/strong>\u00a0<strong>npm<\/strong><strong>\u00a0install casperjs<\/strong><\/p>\n<p>It will install casperjs on your system. Now you can run any casperjs file from any where but currently you have to give full path\u00a0of installation directory. Below command will make it accessible from any where\u00a0just a simple command-<\/p>\n<p><strong>$ ln\u00a0-sf\u00a0\/repo\/casperjs\/bin\/casperjs \/bin\/casperjs<\/strong><\/p>\n<p>The above directory structure may differ from system to system or OS to OS, please take care of this.<\/p>\n<p>You can also install if directly from github\u00a0repository by cloing\u00a0it on your system<\/p>\n<p><strong>$ git clone git<\/strong>:<strong>\/\/<\/strong>github<strong>\/<\/strong>com<strong>\/casperjs\/casperjs<\/strong>.<strong>git<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Writing your first script:\u00a0<\/strong>Here is the small script that will get the title of the given\u00a0website and further it can be used for many manipulation or testing cases. For example, using the title you can test that your site in running or not.<\/p>\n<p>In below script, I&#8217;m simply fetching google&#8217;s home page title-<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-56901\" src=\"http:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/01.png\" alt=\"01\" width=\"902\" height=\"198\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/01.png 902w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/01-250x55.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/01-300x66.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/01-768x169.png 768w\" sizes=\"(max-width: 902px) 100vw, 902px\" loading=\"lazy\" \/><\/p>\n<p>Now, how to run this script and what will be the output. Below is the screenshot of the command with the result displayed-<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-56902\" src=\"http:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/02.png\" alt=\"02\" width=\"1074\" height=\"208\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/02.png 1074w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/02-250x48.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/02-300x58.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/02-768x149.png 768w\" sizes=\"(max-width: 1074px) 100vw, 1074px\" loading=\"lazy\" \/><\/p>\n<p>There lots of other things that one can do with casperjs, another example is how to trigger a form by casperjs-<\/p>\n<p>Below code is written test opencart&#8217;s website for front-end login and admin login. It is taking total 5 arguments website url, customer email,\u00a0customer password, admin username and admin password.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-56913\" src=\"http:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/03.png\" alt=\"03\" width=\"912\" height=\"624\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/03.png 912w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/03-250x171.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/03-300x205.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/03-768x525.png 768w\" sizes=\"(max-width: 912px) 100vw, 912px\" loading=\"lazy\" \/><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-56914\" src=\"http:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/04.png\" alt=\"04\" width=\"904\" height=\"569\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/04.png 904w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/04-250x157.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/04-300x189.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/04-768x483.png 768w\" sizes=\"(max-width: 904px) 100vw, 904px\" loading=\"lazy\" \/><\/p>\n<p>Below is screenshot, in which you can see the output of above code.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-56915\" src=\"http:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/05.png\" alt=\"05\" width=\"1085\" height=\"331\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/05.png 1085w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/05-250x76.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/05-300x92.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/08\/05-768x234.png 768w\" sizes=\"(max-width: 1085px) 100vw, 1085px\" loading=\"lazy\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u201cQUALITY MEANS DOING\u00a0IT RIGHT, EVEN\u00a0WHEN\u00a0NO ONE\u00a0IS\u00a0LOOKING\u201d &nbsp; Introduction:\u00a0CasperJS is a navigation and functional testing utility for PhantomJS and SlimerJS, which is written\u00a0in javascript. These days functional development tests are\u00a0vital part of any application development. These tests help\u00a0developer to test the application for determining the bugs and ensuring <a href=\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":23,"featured_media":43102,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[198],"tags":[3505,3506,3504],"class_list":["post-56873","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript","tag-casperjs","tag-functional-testing","tag-functional-testing-with-casperj"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Functional testing with casperjs - Webkul Blog<\/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:\/\/webkul.com\/blog\/functional-testing-casperjs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Functional testing with casperjs - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u201cQUALITY MEANS DOING\u00a0IT RIGHT, EVEN\u00a0WHEN\u00a0NO ONE\u00a0IS\u00a0LOOKING\u201d &nbsp; Introduction:\u00a0CasperJS is a navigation and functional testing utility for PhantomJS and SlimerJS, which is written\u00a0in javascript. These days functional development tests are\u00a0vital part of any application development. These tests help\u00a0developer to test the application for determining the bugs and ensuring [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-08-10T15:21:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-01-02T11:46:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/03\/Code-Snippet.png\" \/>\n\t<meta property=\"og:image:width\" content=\"825\" \/>\n\t<meta property=\"og:image:height\" content=\"260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Avneesh Kumar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Avneesh Kumar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/\"},\"author\":{\"name\":\"Avneesh Kumar\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/044b2928fe042b5059bb617e34cd39f9\"},\"headline\":\"Functional testing with casperjs\",\"datePublished\":\"2016-08-10T15:21:57+00:00\",\"dateModified\":\"2017-01-02T11:46:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/\"},\"wordCount\":389,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/03\/Code-Snippet.png\",\"keywords\":[\"casperjs\",\"functional testing\",\"Functional testing with casperj\"],\"articleSection\":[\"JavaScript\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/\",\"url\":\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/\",\"name\":\"Functional testing with casperjs - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/03\/Code-Snippet.png\",\"datePublished\":\"2016-08-10T15:21:57+00:00\",\"dateModified\":\"2017-01-02T11:46:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/03\/Code-Snippet.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/03\/Code-Snippet.png\",\"width\":825,\"height\":260},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Functional testing with casperjs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/044b2928fe042b5059bb617e34cd39f9\",\"name\":\"Avneesh Kumar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5903755481804b5f657313a20e78c284e9af738c131f2df2c4bd1dc129753462?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5903755481804b5f657313a20e78c284e9af738c131f2df2c4bd1dc129753462?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Avneesh Kumar\"},\"sameAs\":[\"http:\/\/webkul.com\"],\"url\":\"https:\/\/webkul.com\/blog\/author\/avneesh\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Functional testing with casperjs - Webkul Blog","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:\/\/webkul.com\/blog\/functional-testing-casperjs\/","og_locale":"en_US","og_type":"article","og_title":"Functional testing with casperjs - Webkul Blog","og_description":"\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u201cQUALITY MEANS DOING\u00a0IT RIGHT, EVEN\u00a0WHEN\u00a0NO ONE\u00a0IS\u00a0LOOKING\u201d &nbsp; Introduction:\u00a0CasperJS is a navigation and functional testing utility for PhantomJS and SlimerJS, which is written\u00a0in javascript. These days functional development tests are\u00a0vital part of any application development. These tests help\u00a0developer to test the application for determining the bugs and ensuring [...]","og_url":"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2016-08-10T15:21:57+00:00","article_modified_time":"2017-01-02T11:46:16+00:00","og_image":[{"width":825,"height":260,"url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/03\/Code-Snippet.png","type":"image\/png"}],"author":"Avneesh Kumar","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Avneesh Kumar","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/"},"author":{"name":"Avneesh Kumar","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/044b2928fe042b5059bb617e34cd39f9"},"headline":"Functional testing with casperjs","datePublished":"2016-08-10T15:21:57+00:00","dateModified":"2017-01-02T11:46:16+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/"},"wordCount":389,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/03\/Code-Snippet.png","keywords":["casperjs","functional testing","Functional testing with casperj"],"articleSection":["JavaScript"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/","url":"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/","name":"Functional testing with casperjs - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/03\/Code-Snippet.png","datePublished":"2016-08-10T15:21:57+00:00","dateModified":"2017-01-02T11:46:16+00:00","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/functional-testing-casperjs\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/03\/Code-Snippet.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/03\/Code-Snippet.png","width":825,"height":260},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/functional-testing-casperjs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Functional testing with casperjs"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/044b2928fe042b5059bb617e34cd39f9","name":"Avneesh Kumar","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5903755481804b5f657313a20e78c284e9af738c131f2df2c4bd1dc129753462?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5903755481804b5f657313a20e78c284e9af738c131f2df2c4bd1dc129753462?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Avneesh Kumar"},"sameAs":["http:\/\/webkul.com"],"url":"https:\/\/webkul.com\/blog\/author\/avneesh\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/56873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=56873"}],"version-history":[{"count":6,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/56873\/revisions"}],"predecessor-version":[{"id":70187,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/56873\/revisions\/70187"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media\/43102"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=56873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=56873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=56873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}