Selenium WebDriver – Rahmenarchitektur

Selenium WebDriver – Rahmenarchitektur
MIN
30 Juni 2023

Im letzten Beitrag über Selenium Intro – eine Einführung haben wir die verschiedenen Komponenten von Selenium, seine Vorteile und Einschränkungen kennengelernt. Dieses Tutorial basiert auf der Hauptkomponente der Selenium Testsuite – Selenium Webdriver. Hier werden wir die Architektur des Selenium WebDriver-Frameworks, seine einzelnen Komponenten und seine Funktionsweise kennenlernen.

Inhaltsübersicht

Selenium WebDriver Architektur

Um die Web-UI-Automatisierung mit Selenium WebDriver gründlich zu verstehen, ist die Kenntnis seiner Architektur erforderlich. Um die Architektur zu verstehen, müssen wir zunächst die vier Komponenten kennen, aus denen der Rahmen besteht.

Selenium WebDriver Architekturdiagramm:

Selenium-Client-Bibliothek

Die Entwickler von Selenium WebDriver haben die Unterstützung für eine Vielzahl von Programmiersprachen aktiviert. Die Selenium Client Library oder ein Teil der Sprachbindungen der Selenium WebDriver-Architektur ermöglicht es uns, Selenium-Automatisierungsskripte in der Sprache unserer Wahl zu schreiben – Java, Python, C#, Ruby, Javascript, usw.

Browser-Treiber

Wir haben einen separaten Browser-Treiber für jeden der unterstützten Selenium-Browser. Diese Treiber empfangen Befehle von Selenium-Skripten und leiten sie an die entsprechenden Browser weiter.
Auf diese Weise ermöglichen 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.

JSON Wire über HTTP

JSON oder JavaScript Object Notation ist ein leichtgewichtiges Datenformat zum Speichern und Übertragen von Daten. Das JSON-Wire-Protokoll ermöglicht die Übertragung von Daten zwischen Client und Server über das Internet.
In der WebDriver-Architektur wird das JSON-Wire-Protokoll für die Kommunikation zwischen Selenium-Skripten und Browser-Treibern verwendet.

Browser

Diese Komponente der Webdriver-Architektur in Selenium ist recht einfach. Die Browser empfangen den Befehl und rufen die entsprechende Methode auf, um die gewünschte Automatisierungsaufgabe auszuführen. Die verschiedenen von Selenium unterstützten Browser sind – Chrome, Firefox, IE, Edge, Safari, Opera, etc.

Erläuterung der Automatisierung mit Selenium WebDriver

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ür die Durchführung einer einfachen Automatisierungsaufgabe:

WebDriver driver = new FirefoxDriver();

driver.get(„https://ittester.sk“);

driver.findElement(By.id(„button“)).click();

Das Skript ist in Java geschrieben. Die Selenium Client Library Komponente hilft uns also bei der Erstellung von Skripten in Java. Über das JSON-Wire-Protokoll kommuniziert der Selenium-Client mit dem Browser-Treiber (in unserem Beispiel Firefox). Führt die get()-Operation aus, um die ITtester.sk-Webseite zu starten, und klickt dann auf die Schaltfläche.

Der Firefox-Browsertreiber sendet dann die Befehle an den entsprechenden Browser. Wenn die Automatisierungsaufgaben erfolgreich abgeschlossen sind, wird die Antwort an das Automatisierungsskript zurückgeschickt.

Damit ist das Tutorial über die WebDriver-Architektur in Selenium abgeschlossen. Wir fahren fort mit dem nächsten Kapitel unserer Tutorials – Selenium WebDriver – Installation. Diese Anleitung hilft Ihnen, Selenium auf Ihrem Computer einzurichten.