{"id":5093,"date":"2021-10-07T04:10:49","date_gmt":"2021-10-07T04:10:49","guid":{"rendered":"https:\/\/studysection.com\/blog\/?p=5093"},"modified":"2021-10-07T06:03:55","modified_gmt":"2021-10-07T06:03:55","slug":"selenium-webdriver-architecture","status":"publish","type":"post","link":"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/","title":{"rendered":"Selenium Webdriver Architecture"},"content":{"rendered":"<h2>There are few concepts that we need to understand about Selenium Architecture<\/h2>\n<ol>\n<li>Language Binding or Selenium ClienLibrary<\/li>\n<li>Selenium API<\/li>\n<li>Remote WebDriver<\/li>\n<li>JSON Wired Protocol<\/li>\n<li>WebDriver<\/li>\n<\/ol>\n<ol>\n<li><strong>Language Binding or Selenium ClienLibrary:<\/strong> It is a JAR file. The language in which your write your Selenium Framework ie. language that\u2019s used to write the Scripts. Like: Java, C#, PHP, Perl, Ruby, <a href=\"https:\/\/studysection.com\/blog\/how-to-sort-a-list-in-alphanumeric-order-python\/\">Python<\/a>.<\/li>\n<li><strong>Selenium API:<\/strong>  API means, An Application Programming Interface<br \/>\n<em>Definition:<\/em>  API is a particular set of Rules (Code) and specifications that software programs can follow to communicate with each other. It servers as an Interface between software programs and facilitates their interaction, similarly to the way the user interface facilitates interaction between human and computer.<\/p>\n<ul>\n<li>An API Is a Software to Software Interaction, not a User Interface.<\/li>\n<li>With API\u2019s applications communicate with each other without any user knowledge.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Remote WebDriver:<\/strong> Remote WebDriver is an Implementation Class of the Webdriver Interface that a test Script Developer can use to execute their Test Script via the Remote WebDriver Server or Remote Machine.<br \/>\n<em>There are two parts of Remote WebDrvier<\/em><\/p>\n<ul>\n<li>A Server<\/li>\n<li>A Client<\/li>\n<\/ul>\n<\/li>\n<li><strong>JSON Wired Protocol:<\/strong>  JSON means JavaScript Object Notation.\n<ul>\n<li>JSON is a lightweight data-interchange format<\/li>\n<li>It is a syntax for storing and exchanging data<\/li>\n<li>It is used primarily to transfer the data between a server and a client on the Web<\/li>\n<li>It is very much an alternative to XML<\/li>\n<li>A simple JSON file has JSON Extension<\/li>\n<li>JSON Wired Protocol sends the data in JSON format. The server firstly, parse the data and then execute the data. The response given back to the Server was sent back to the client in JSON format.<\/li>\n<li>The Process of converting an object\u2019s data to JSON format and JSON format to an object is named serialization and de-sterilization respectively.<\/li>\n<li>Our Webserver uses the same approach to communicate between client libraries and drivers such as Firefox, IE Driver, etc.<\/li>\n<\/ul>\n<\/li>\n<li><strong>WebDriver:<\/strong>\tWebdriver is a tool for automating Web Application Testing, in particular, to verify that they work as expected.<br \/>\n<strong><em>Different Browser Drivers are:<\/em><\/strong><\/p>\n<ul>\n<li>Firefox Driver<\/li>\n<li>Internet Explorer Driver<\/li>\n<li>Chrome Driver<\/li>\n<li>Opera Driver<\/li>\n<li>Safari Driver<\/li>\n<\/ul>\n<h3>Diagram of Webdriver Architecture:<\/h3>\n<p><em>How Selenium Webdriver Architecture Working:<\/em><br \/>\n<img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/flow-chart.png\" alt=\"flow-chart\" \/>\n<\/li>\n<\/ol>\n<p><small><em>The English language is the most widely used language as a medium of communication around the world. Having a certification for the English language can be an advantage. StudySection provides an <a href=\"https:\/\/www.studysection.com\/english-language-advanced-diploma\">English certification exam<\/a> that tests English language proficiency in English grammar, reading, and writing.<\/em><\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are few concepts that we need to understand about Selenium Architecture Language Binding or Selenium ClienLibrary Selenium API Remote<\/p>\n","protected":false},"author":1,"featured_media":5094,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[657,124],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Selenium Webdriver Architecture - StudySection Blog<\/title>\n<meta name=\"description\" content=\"The language in which you write Selenium Framework ie. language that\u2019s used for Scripts like Java, C#, PHP, Perl, Ruby, Python.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Selenium Webdriver Architecture - StudySection Blog\" \/>\n<meta property=\"og:description\" content=\"The language in which you write Selenium Framework ie. language that\u2019s used for Scripts like Java, C#, PHP, Perl, Ruby, Python.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Posts on famous people, innovations and educational topics\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/studysection\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-07T04:10:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-07T06:03:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/Architecture.png\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"admin-studysection-blog\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@studysection\" \/>\n<meta name=\"twitter:site\" content=\"@studysection\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin-studysection-blog\" \/>\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:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/\"},\"author\":{\"name\":\"admin-studysection-blog\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402\"},\"headline\":\"Selenium Webdriver Architecture\",\"datePublished\":\"2021-10-07T04:10:49+00:00\",\"dateModified\":\"2021-10-07T06:03:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/\"},\"wordCount\":405,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/studysection.com\/blog\/#organization\"},\"keywords\":[\"Architecture\",\"selenium\"],\"articleSection\":[\"Learn and Grow\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/\",\"url\":\"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/\",\"name\":\"Selenium Webdriver Architecture - StudySection Blog\",\"isPartOf\":{\"@id\":\"https:\/\/studysection.com\/blog\/#website\"},\"datePublished\":\"2021-10-07T04:10:49+00:00\",\"dateModified\":\"2021-10-07T06:03:55+00:00\",\"description\":\"The language in which you write Selenium Framework ie. language that\u2019s used for Scripts like Java, C#, PHP, Perl, Ruby, Python.\",\"breadcrumb\":{\"@id\":\"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/studysection.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Selenium Webdriver Architecture\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/studysection.com\/blog\/#website\",\"url\":\"https:\/\/studysection.com\/blog\/\",\"name\":\"Blog Posts on famous people, innovations and educational topics\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/studysection.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/studysection.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/studysection.com\/blog\/#organization\",\"name\":\"StudySection\",\"url\":\"https:\/\/studysection.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png\",\"contentUrl\":\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png\",\"width\":920,\"height\":440,\"caption\":\"StudySection\"},\"image\":{\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/studysection\",\"https:\/\/twitter.com\/studysection\",\"https:\/\/www.instagram.com\/study.section\/\",\"https:\/\/www.linkedin.com\/company\/studysection\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402\",\"name\":\"admin-studysection-blog\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g\",\"caption\":\"admin-studysection-blog\"},\"url\":\"https:\/\/studysection.com\/blog\/author\/admin-studysection-blog\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Selenium Webdriver Architecture - StudySection Blog","description":"The language in which you write Selenium Framework ie. language that\u2019s used for Scripts like Java, C#, PHP, Perl, Ruby, Python.","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:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/","og_locale":"en_US","og_type":"article","og_title":"Selenium Webdriver Architecture - StudySection Blog","og_description":"The language in which you write Selenium Framework ie. language that\u2019s used for Scripts like Java, C#, PHP, Perl, Ruby, Python.","og_url":"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/","og_site_name":"Blog Posts on famous people, innovations and educational topics","article_publisher":"https:\/\/www.facebook.com\/studysection","article_published_time":"2021-10-07T04:10:49+00:00","article_modified_time":"2021-10-07T06:03:55+00:00","og_image":[{"width":300,"height":200,"url":"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/Architecture.png","type":"image\/png"}],"author":"admin-studysection-blog","twitter_card":"summary_large_image","twitter_creator":"@studysection","twitter_site":"@studysection","twitter_misc":{"Written by":"admin-studysection-blog","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/#article","isPartOf":{"@id":"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/"},"author":{"name":"admin-studysection-blog","@id":"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402"},"headline":"Selenium Webdriver Architecture","datePublished":"2021-10-07T04:10:49+00:00","dateModified":"2021-10-07T06:03:55+00:00","mainEntityOfPage":{"@id":"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/"},"wordCount":405,"commentCount":0,"publisher":{"@id":"https:\/\/studysection.com\/blog\/#organization"},"keywords":["Architecture","selenium"],"articleSection":["Learn and Grow"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/","url":"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/","name":"Selenium Webdriver Architecture - StudySection Blog","isPartOf":{"@id":"https:\/\/studysection.com\/blog\/#website"},"datePublished":"2021-10-07T04:10:49+00:00","dateModified":"2021-10-07T06:03:55+00:00","description":"The language in which you write Selenium Framework ie. language that\u2019s used for Scripts like Java, C#, PHP, Perl, Ruby, Python.","breadcrumb":{"@id":"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/studysection.com\/blog\/selenium-webdriver-architecture\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/studysection.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Selenium Webdriver Architecture"}]},{"@type":"WebSite","@id":"https:\/\/studysection.com\/blog\/#website","url":"https:\/\/studysection.com\/blog\/","name":"Blog Posts on famous people, innovations and educational topics","description":"","publisher":{"@id":"https:\/\/studysection.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/studysection.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/studysection.com\/blog\/#organization","name":"StudySection","url":"https:\/\/studysection.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png","contentUrl":"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png","width":920,"height":440,"caption":"StudySection"},"image":{"@id":"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/studysection","https:\/\/twitter.com\/studysection","https:\/\/www.instagram.com\/study.section\/","https:\/\/www.linkedin.com\/company\/studysection"]},{"@type":"Person","@id":"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402","name":"admin-studysection-blog","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/studysection.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g","caption":"admin-studysection-blog"},"url":"https:\/\/studysection.com\/blog\/author\/admin-studysection-blog\/"}]}},"views":1946,"_links":{"self":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/5093"}],"collection":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/comments?post=5093"}],"version-history":[{"count":5,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/5093\/revisions"}],"predecessor-version":[{"id":5100,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/5093\/revisions\/5100"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/media\/5094"}],"wp:attachment":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/media?parent=5093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/categories?post=5093"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/tags?post=5093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}