{"id":335,"date":"2023-06-30T12:48:46","date_gmt":"2023-06-30T10:48:46","guid":{"rendered":"https:\/\/ittester.sk\/unkategorisiert\/selenium-webdriver-rahmenarchitektur\/"},"modified":"2024-06-05T11:53:24","modified_gmt":"2024-06-05T09:53:24","slug":"selenium-webdriver-architektur","status":"publish","type":"post","link":"https:\/\/ittester.sk\/de\/automatisiertes-testen\/selenium-tutorial-de\/selenium-webdriver-architektur\/","title":{"rendered":"Selenium WebDriver &#8211; Rahmenarchitektur"},"content":{"rendered":"\n<p>Im letzten Beitrag \u00fcber <a href=\"https:\/\/ittester.sk\/de\/automatisiertes-testen\/selenium-tutorial-de\/selenium-intro\/\" title=\"\">Selenium Intro &#8211; eine Einf\u00fchrung<\/a> haben wir die verschiedenen Komponenten von Selenium, seine Vorteile und Einschr\u00e4nkungen kennengelernt. Dieses Tutorial basiert auf der Hauptkomponente der Selenium Testsuite &#8211; Selenium Webdriver. Hier werden wir die Architektur des Selenium WebDriver-Frameworks, seine einzelnen Komponenten und seine Funktionsweise kennenlernen.<\/p>\n\n<h2 class=\"wp-block-heading\">Inhalts\u00fcbersicht<\/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\">Selenium WebDriver Architektur<\/h2>\n\n<p>Um die Web-UI-Automatisierung mit Selenium WebDriver gr\u00fcndlich zu verstehen, ist die Kenntnis seiner Architektur erforderlich. Um die Architektur zu verstehen, m\u00fcssen wir zun\u00e4chst die vier Komponenten kennen, aus denen der Rahmen besteht.<\/p>\n\n<p>Selenium WebDriver Architekturdiagramm:<\/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\">Selenium-Client-Bibliothek<\/h2>\n\n<p>Die Entwickler von Selenium WebDriver haben die Unterst\u00fctzung f\u00fcr eine Vielzahl von Programmiersprachen aktiviert. Die Selenium Client Library oder ein Teil der Sprachbindungen der Selenium WebDriver-Architektur erm\u00f6glicht es uns, Selenium-Automatisierungsskripte in der Sprache unserer Wahl zu schreiben &#8211; Java, Python, C#, Ruby, Javascript, usw.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-ovladace-prehliadaca\">Browser-Treiber<\/h2>\n\n<p>Wir haben einen separaten Browser-Treiber f\u00fcr jeden der unterst\u00fctzten Selenium-Browser. Diese Treiber empfangen Befehle von Selenium-Skripten und leiten sie an die entsprechenden Browser weiter.<br\/>Auf diese Weise erm\u00f6glichen diese Browsertreiber dem Selenium-Skript, mit verschiedenen Browsern zu kommunizieren. Auch diese Kommunikation erfolgt ohne Offenlegung der internen Logik dieser Browser. Einige der Browser-Treiber in Selenium sind FirefoxDriver, ChromeDriver, InternetExplorerDriver, SafariDriver, OperaBrowser, EdgeDriver und HtmlUnitDriver.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-protokol-json-wire-cez-http\">JSON Wire \u00fcber HTTP<\/h2>\n\n<p>JSON oder JavaScript Object Notation ist ein leichtgewichtiges Datenformat zum Speichern und \u00dcbertragen von Daten. Das JSON-Wire-Protokoll erm\u00f6glicht die \u00dcbertragung von Daten zwischen Client und Server \u00fcber das Internet.<br\/>In der WebDriver-Architektur wird das JSON-Wire-Protokoll f\u00fcr die Kommunikation zwischen Selenium-Skripten und Browser-Treibern verwendet.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-prehliadace\">Browser<\/h2>\n\n<p>Diese Komponente der Webdriver-Architektur in Selenium ist recht einfach. Die Browser empfangen den Befehl und rufen die entsprechende Methode auf, um die gew\u00fcnschte Automatisierungsaufgabe auszuf\u00fchren. Die verschiedenen von Selenium unterst\u00fctzten Browser sind &#8211; Chrome, Firefox, IE, Edge, Safari, Opera, etc.<\/p>\n\n<p>Erl\u00e4uterung der Automatisierung mit Selenium WebDriver<\/p>\n\n<p>Es ist an der Zeit, einen Blick auf das Innenleben der Automatisierung von Webanwendungen in verschiedenen Browsern mit Selenium WebDriver zu werfen. Ein Beispiel f\u00fcr die Durchf\u00fchrung einer einfachen Automatisierungsaufgabe:<\/p>\n\n<p><strong>WebDriver driver = new FirefoxDriver();<\/strong><\/p>\n\n<p><strong>driver.get(&#8222;https:\/\/ittester.sk&#8220;);<\/strong><\/p>\n\n<p><strong>driver.findElement(By.id(&#8222;button&#8220;)).click();<\/strong><\/p>\n\n<p>Das Skript ist in Java geschrieben. Die Selenium Client Library Komponente hilft uns also bei der Erstellung von Skripten in Java. \u00dcber das JSON-Wire-Protokoll kommuniziert der Selenium-Client mit dem Browser-Treiber (in unserem Beispiel Firefox). F\u00fchrt die get()-Operation aus, um die ITtester.sk-Webseite zu starten, und klickt dann auf die Schaltfl\u00e4che.<\/p>\n\n<p>Der Firefox-Browsertreiber sendet dann die Befehle an den entsprechenden Browser. Wenn die Automatisierungsaufgaben erfolgreich abgeschlossen sind, wird die Antwort an das Automatisierungsskript zur\u00fcckgeschickt.<\/p>\n\n<p>Damit ist das Tutorial \u00fcber die WebDriver-Architektur in Selenium abgeschlossen. Wir fahren fort mit dem n\u00e4chsten Kapitel unserer Tutorials &#8211; <a href=\"https:\/\/ittester.sk\/de\/automatisiertes-testen\/selenium-tutorial-de\/selenium-webdriver-installation\/\" title=\"\">Selenium WebDriver &#8211; Installation<\/a>. Diese Anleitung hilft Ihnen, Selenium auf Ihrem Computer einzurichten.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im letzten Beitrag \u00fcber Selenium Intro &#8211; eine Einf\u00fchrung haben wir die verschiedenen Komponenten von [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1475,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16],"tags":[],"class_list":["post-335","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-selenium-tutorial-de"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts\/335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/comments?post=335"}],"version-history":[{"count":12,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts\/335\/revisions"}],"predecessor-version":[{"id":1477,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts\/335\/revisions\/1477"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/media\/1475"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/media?parent=335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/categories?post=335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/tags?post=335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}