{"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":[],"_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}]}}