{"id":2958,"date":"2023-06-30T12:48:46","date_gmt":"2023-06-30T10:48:46","guid":{"rendered":"https:\/\/ittester.sk\/non-classifiee\/selenium-webdriver-architecture\/"},"modified":"2024-10-22T14:16:47","modified_gmt":"2024-10-22T12:16:47","slug":"selenium-webdriver-architecture","status":"publish","type":"post","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/selenium-webdriver-architecture\/","title":{"rendered":"Selenium WebDriver &#8211; architecture du framework"},"content":{"rendered":"\n<p>Dans l&rsquo;article pr\u00e9c\u00e9dent sur <a href=\"https:\/\/ittester.sk\/fr\/non-classifiee\/tutoriel-selenium\/selenium-intro-introduction\/\" title=\"\">Selenium intro &#8211; une introduction<\/a>, nous avons d\u00e9couvert les diff\u00e9rents composants de Selenium, ses avantages et ses limites. Ce tutoriel est bas\u00e9 sur le composant principal de la suite de tests Selenium &#8211; Selenium Webdriver. Nous allons ici d\u00e9couvrir l&rsquo;architecture du framework Selenium WebDriver, ses composants individuels et son fonctionnement.<\/p>\n\n<h2 class=\"wp-block-heading\">Table des mati\u00e8res<\/h2>\n<div class=\"wp-block-aioseo-table-of-contents\"><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-architektura-selenium-webdriver\">Architekt\u00fara Selenium WebDriver<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-selenium-client-library\">Selenium Client Library<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-ovladace-prehliadaca\">Ovl\u00e1da\u010de prehliada\u010da<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-protokol-json-wire-cez-http\">Protokol JSON Wire cez HTTP<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-prehliadace\">Prehliada\u010de<\/a><\/li><\/ul><\/div>\n<h2 class=\"wp-block-heading\" id=\"aioseo-architektura-selenium-webdriver\">Architecture de Selenium WebDriver<\/h2>\n\n<p>Pour bien comprendre l&rsquo;automatisation de l&rsquo;interface utilisateur Web \u00e0 l&rsquo;aide de Selenium WebDriver, il est n\u00e9cessaire de conna\u00eetre son architecture. Pour comprendre l&rsquo;architecture, il faut d&rsquo;abord conna\u00eetre les quatre \u00e9l\u00e9ments qui composent le cadre.<\/p>\n\n<p>Sch\u00e9ma de l&rsquo;architecture de Selenium WebDriver :<\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"248\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/automatizacia-1360-330-1024x248.webp\" alt=\"\" class=\"wp-image-634\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/automatizacia-1360-330-1024x248.webp 1024w, https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/automatizacia-1360-330-300x73.webp 300w, https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/automatizacia-1360-330-768x186.webp 768w, https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/automatizacia-1360-330.webp 1360w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-selenium-client-library\">Biblioth\u00e8que client Selenium<\/h2>\n\n<p>Les d\u00e9veloppeurs de Selenium WebDriver ont permis la prise en charge d&rsquo;un grand nombre de langages de programmation. La biblioth\u00e8que Selenium Client Library ou une partie des liaisons linguistiques de l&rsquo;architecture Selenium WebDriver nous permet d&rsquo;\u00e9crire des scripts d&rsquo;automatisation Selenium dans le langage de notre choix &#8211; Java, Python, C#, Ruby, Javascript, etc.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-ovladace-prehliadaca\">Pilotes de navigateur<\/h2>\n\n<p>Nous disposons d&rsquo;un pilote de navigateur distinct pour chacun des navigateurs Selenium pris en charge. Ces pilotes re\u00e7oivent les commandes des scripts Selenium et les transmettent aux navigateurs appropri\u00e9s.<br\/>Ainsi, ces pilotes de navigateur permettent au script Selenium de communiquer avec diff\u00e9rents navigateurs. Cette communication se fait \u00e9galement sans r\u00e9v\u00e9ler la logique interne de ces navigateurs. Les pilotes de navigateur de Selenium sont FirefoxDriver, ChromeDriver, InternetExplorerDriver, SafariDriver, OperaBrowser, EdgeDriver et HtmlUnitDriver.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-protokol-json-wire-cez-http\">Fil JSON sur HTTP<\/h2>\n\n<p>JSON ou JavaScript Object Notation est un format de donn\u00e9es l\u00e9ger pour le stockage et le transfert de donn\u00e9es. Le protocole JSON permet de transf\u00e9rer des donn\u00e9es entre un client et un serveur sur le web.<br\/>Dans l&rsquo;architecture WebDriver, le protocole JSON est utilis\u00e9 pour communiquer entre les scripts Selenium et les pilotes de navigateur.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-prehliadace\">Navigateurs<\/h2>\n\n<p>Ce composant de l&rsquo;architecture Webdriver de Selenium est assez simple. Les navigateurs re\u00e7oivent la commande et appellent la m\u00e9thode appropri\u00e9e pour effectuer la t\u00e2che d&rsquo;automatisation requise. Les diff\u00e9rents navigateurs pris en charge par Selenium sont : Chrome, Firefox, IE, Edge, Safari, Opera, etc.<\/p>\n\n<p>Explication de l&rsquo;automatisation \u00e0 l&rsquo;aide de Selenium WebDriver<\/p>\n\n<p>Il est temps d&rsquo;examiner les rouages de l&rsquo;automatisation des applications web dans diff\u00e9rents navigateurs \u00e0 l&rsquo;aide de Selenium WebDriver. Exemple d&rsquo;ex\u00e9cution d&rsquo;une t\u00e2che d&rsquo;automatisation simple :<\/p>\n\n<p><strong>WebDriver driver = new FirefoxDriver() ;<\/strong><\/p>\n\n<p><strong>driver.get(\u00ab\u00a0https:\/\/ittester.sk\u00a0\u00bb) ;<\/strong><\/p>\n\n<p><strong>driver.findElement(By.id(\u00ab\u00a0button\u00a0\u00bb)).click() ;<\/strong><\/p>\n\n<p>Le script est \u00e9crit en Java. Le composant Selenium Client Library nous aide donc \u00e0 cr\u00e9er des scripts en Java. En utilisant le protocole JSON, le client Selenium communique avec le pilote du navigateur (Firefox dans notre exemple). Ex\u00e9cute l&rsquo;op\u00e9ration get() pour lancer la page web ITtester.sk, puis clique sur le bouton.<\/p>\n\n<p>Le pilote du navigateur Firefox envoie ensuite les commandes au navigateur appropri\u00e9. Lorsque les t\u00e2ches d&rsquo;automatisation sont termin\u00e9es avec succ\u00e8s, la r\u00e9ponse est renvoy\u00e9e au script d&rsquo;automatisation.<\/p>\n\n<p>Ceci conclut le tutoriel sur l&rsquo;architecture WebDriver dans Selenium. Nous continuons avec le chapitre suivant de nos tutoriels &#8211; <a href=\"https:\/\/ittester.sk\/automatizovane-testovanie\/selenium-tutorial\/selenium-webdriver-instalacia\/\" title=\"\">Selenium WebDriver &#8211; installation<\/a>. Ce guide vous aidera \u00e0 configurer Selenium sur votre ordinateur.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans l&rsquo;article pr\u00e9c\u00e9dent sur Selenium intro &#8211; une introduction, nous avons d\u00e9couvert les diff\u00e9rents composants [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2960,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[53],"tags":[],"class_list":["post-2958","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriel-selenium"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO Pro 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"Architecture du cadre Selenium WebDriver : biblioth\u00e8que client, pilotes de navigateur, fil JSON sur HTTP, explication de l&#039;automatisation.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"headmaster\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/selenium-webdriver-architecture\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"IT tester - Z\u00e1kladn\u00e9 inform\u00e1cie o testovan\u00ed softv\u00e9ru\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Selenium WebDriver - architecture du framework - ittester.sk\" \/>\n\t\t<meta property=\"og:description\" content=\"Architecture du cadre Selenium WebDriver : biblioth\u00e8que client, pilotes de navigateur, fil JSON sur HTTP, explication de l&#039;automatisation.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/selenium-webdriver-architecture\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-06-30T10:48:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-10-22T12:16:47+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Selenium WebDriver - architecture du framework - ittester.sk\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Architecture du cadre Selenium WebDriver : biblioth\u00e8que client, pilotes de navigateur, fil JSON sur HTTP, explication de l&#039;automatisation.\" \/>\n\t\t<script type=\"text\/javascript\">\n\t\t\t(function(c,l,a,r,i,t,y){\n\t\t\tc[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1;\n\t\t\tt.src=\"https:\/\/www.clarity.ms\/tag\/\"+i+\"?ref=aioseo\";y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\n\t\t})(window, document, \"clarity\", \"script\", \"nizijct9c2\");\n\t\t<\/script>\n\t\t<!-- All in One SEO Pro -->\r\n\t\t<title>Selenium WebDriver - architecture du framework - ittester.sk<\/title>\n\n","aioseo_head_json":{"title":"Selenium WebDriver - architecture du framework - ittester.sk","description":"Architecture du cadre Selenium WebDriver : biblioth\u00e8que client, pilotes de navigateur, fil JSON sur HTTP, explication de l'automatisation.","canonical_url":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/selenium-webdriver-architecture\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"IT tester - Z\u00e1kladn\u00e9 inform\u00e1cie o testovan\u00ed softv\u00e9ru","og:type":"article","og:title":"Selenium WebDriver - architecture du framework - ittester.sk","og:description":"Architecture du cadre Selenium WebDriver : biblioth\u00e8que client, pilotes de navigateur, fil JSON sur HTTP, explication de l'automatisation.","og:url":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/selenium-webdriver-architecture\/","article:published_time":"2023-06-30T10:48:46+00:00","article:modified_time":"2024-10-22T12:16:47+00:00","twitter:card":"summary_large_image","twitter:title":"Selenium WebDriver - architecture du framework - ittester.sk","twitter:description":"Architecture du cadre Selenium WebDriver : biblioth\u00e8que client, pilotes de navigateur, fil JSON sur HTTP, explication de l'automatisation."},"aioseo_meta_data":{"post_id":"2958","title":"Selenium WebDriver - architecture du framework - ittester.sk","description":"Architecture du cadre Selenium WebDriver : biblioth\u00e8que client, pilotes de navigateur, fil JSON sur HTTP, explication de l'automatisation.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"none","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"seo_analyzer_scan_date":"2026-05-18 07:03:13","breadcrumb_settings":null,"limit_modified_date":false,"open_ai":"{\"title\":{\"suggestions\":[],\"usage\":0},\"description\":{\"suggestions\":[],\"usage\":0}}","ai":null,"created":"2024-10-22 12:16:47","updated":"2026-05-18 07:03:13"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/ittester.sk\/fr\/\" title=\"Home\">Home<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/ittester.sk\/fr\/tests-automatises\/\" title=\"Tests automatis\u00e9s\">Tests automatis\u00e9s<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/\" title=\"Tutoriel Selenium\">Tutoriel Selenium<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\tSelenium WebDriver \u2013 architecture du framework\n<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/ittester.sk\/fr\/"},{"label":"Tests automatis\u00e9s","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/"},{"label":"Tutoriel Selenium","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/"},{"label":"Selenium WebDriver &#8211; architecture du framework","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/selenium-webdriver-architecture\/"}],"_links":{"self":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2958","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/comments?post=2958"}],"version-history":[{"count":1,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2958\/revisions"}],"predecessor-version":[{"id":2961,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2958\/revisions\/2961"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/media\/2960"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/media?parent=2958"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/categories?post=2958"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/tags?post=2958"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}