Selenium Tutorial: Verwendung des Browser Crossmatch Framework

Selenium WebDriver Tutorial

Selenium Tutorial: Verwendung des Browser Crossmatch Framework

In der heutigen Welt der Webentwicklung ist es entscheidend, Anwendungen an unterschiedliche Größen von Benutzerbildschirmen anzupassen. Responsive Web Design aus dem englischen Responsive Design , mit dem das veröffentlichte Projekt automatisch an die technischen Anforderungen eines Geräts angepasst wird, hat sich unbestreitbar als Standardlösung etabliert. Flexibilität bei der Anpassung an jeden Bildschirm ist jedoch für eine Anwendung oder Webseite ebenso wichtig wie die Kompatibilität mit Browsern . Für Benutzer muss die Erfahrung beim Zugriff auf die Seite mit Firefox, Chrome, Safari oder einem anderen Browser identisch sein.

Aus diesem Grund sind sogenannte Cross-Browser-Tests seit einigen Jahren in der Webprojektprogrammierung unverzichtbar . Eines der beliebtesten Tools dafür ist das von ThoughtWorks veröffentlichte Selenium-Framework, das wir in diesem Tutorial genauer sehen werden.

Index
  1. Was ist Selen oder Selenium WebDriver?
  2. Wofür wird Selenium WebDriver verwendet?
  3. Verwendung von Selen: Tutorial mit Codebeispiel
    1. Schritt 1: Installieren Sie Selenium
    2. Schritt 2: Wählen Sie die entsprechende Entwicklungsumgebung (IDE) aus.
    3. Schritt 3: Erstellen Sie ein Python-Skript, um den Browser (Firefox) mit Selenium zu testen
  4. Selenium WebDriver: Nicht für alle Szenarien geeignet

Was ist Selen oder Selenium WebDriver?

Um Zeit und Kosten bei der Entwicklung von Anwendungen in Python zu sparen, hat Jason Huggins 2004 JavaScriptTestRunner erstellt , den Kern des Webtest-Frameworks, das jetzt als Selenium bekannt ist. Anfänglich wurde das Tool nur intern bei der ThoughtWorks- Softwarefirma verwendet , bei der Huggins zu dieser Zeit arbeitete. Als Huggins 2007 zu Google wechselte, entwickelte und verfeinerte er das Programm weiter, das Open Source wurde (Apache 2.0-Lizenz) und daher der Öffentlichkeit zugänglich gemacht wurde. Nach der Zusammenführung mit der WebDriver-API wurde das Testframework in Selenium oder Selenium WebDriver umbenannt, was bis heute gültig ist.

Die aktuelle Version von Selenium basiert ausschließlich auf HTML und JavaScript und ermöglicht Entwicklern, Interaktionen mit einer Webanwendung zu testen, aufzuzeichnen und sie dann so oft wie gewünscht vollständig automatisch zu wiederholen. Die wichtigsten Komponenten für diesen Testprozess sind:

  • Selenium Core : Das Core-Modul enthält die grundlegenden Funktionen des Frameworks, einschließlich JavaScriptTestRunner und der grundlegenden Testbefehls-API.
  • Selenium IDE : Selenium IDE ist die Test-Framework-Entwicklungsumgebung, auf der die IDE-Erweiterung für Chrome und Firefox basiert. Es wird zum Aufzeichnen und Wiedergeben von Tests verwendet.
  • Selenium WebDriver : WebDriver ist die grundlegende Oberfläche zur Simulation von Benutzerinteraktionen mit jedem Browser, sei es Firefox, Chrome, Edge, Safari oder Internet Explorer. Seit 2018 ist die API ein offizieller W3C-Standard.
  • Selenium Grid : Selenium Grid ist eine Erweiterung von WebDriver und seinem Vorgänger Selenium Remote Control (RC), mit der Tests parallel auf mehreren Servern ausgeführt werden können. Auf diese Weise wird die Testzeit erheblich verkürzt.

Um Ihre Privatsphäre zu schützen, wird das Video nach dem Klicken hochgeladen.

Wofür wird Selenium WebDriver verwendet?

Selen ist ein beliebtes Werkzeug in Testumgebungen und wird hauptsächlich als Grundlage für eine Vielzahl von Programmen in diesem Spektrum verwendet. Zu den bekanntesten Beispielen gehört das Protractor-End-to-End-Framework, das speziell zum Testen von Angular- und Angular JS-Anwendungen entwickelt wurde und die WebDriver-API zur Simulation von Benutzerinteraktionen verwendet. Das Software -Testautomatisierungs-Appium, das für native und hybride mobile Anwendungen entwickelt wurde , verwendet standardisierte Tests, um die gewünschte Programmiersprachenschnittstelle einfach und bequem zu verwenden.

See also  UML-Zustandsdiagramm: Visualisieren Sie Sequenzen von Objektzuständen

Der beliebte Cloud-basierte Webdienst BrowserStack verwendet auch Selenium: Dieser in Indien entwickelte Dienst bietet nach einer kostenlosen Testphase verschiedene kostenpflichtige Abonnements an und verwendet dieses Framework für das automatisierte Testen von Mobil- und Desktopanwendungen .

Hinweis

Als Software Open – Source kann Selen WebDrive verwendet werden , unabhängig von anderen Programmen wie die obigen Lösungen. Die verschiedenen Komponenten, die im Framework kombiniert werden können, machen dies einfach, vorausgesetzt, Sie verfügen über das richtige technische Wissen.

Verwendung von Selen: Tutorial mit Codebeispiel

Wenn Sie mit Selenium eigene Testfälle erstellen möchten, ohne von einem externen Dienst oder einem Softwarehersteller abhängig zu sein , benötigen Sie keine spezifischen Programmierkenntnisse. Das Testen der Navigation mit diesem Framework ist einfach, da die Testskripte in verschiedenen Sprachen geschrieben werden können , einschließlich JavaScript, Java, C #, Ruby und Python. Im folgenden Selenium-Tutorial sehen Sie die Einrichtung und Verwendung des Frameworks am Beispiel von Python.

Hinweis

Bei den nächsten Schritten in diesem Selenium WebDriver-Lernprogramm wird davon ausgegangen, dass die Python-Version auf dem neuesten Stand ist .

Schritt 1: Installieren Sie Selenium

Für die Verwendung von Selenium WebDriver, zusammenfassend als Sprachbindungen bezeichnet , stehen mehrere Clients und Bibliotheken zur Verfügung , die die Grundlage für das Testframework und -verfahren bilden. Sie müssen jedoch nur die Client-Treiber und -Bibliotheken für die Sprache installieren, in der Sie die Skripte schreiben möchten .

Für dieses Selenium WebDriver-Lernprogramm sind Sprachbindungen für Python erforderlich , die standardmäßig mit dem Python pip-Paketmanager und dem folgenden Befehl installiert werden können.

  pip install selenium  

Sie können auch die Download Quellcode – Paket aus den obigen Link, extrahieren Sie die tar.gz – Datei und verwenden Sie die setup.py – Datei zu installieren. In diesem Fall sollten Sie diesen Befehl verwenden:

  python setup.py install  

Der zweite Schritt besteht darin, den Treiber für den Browser herunterzuladen und zu installieren, mit dem Selenium eine Verbindung herstellen wird. Für Firefox ist beispielsweise der Geckodriver-Treiber erforderlich, dessen offizielle Version aus dem folgenden GitHub-Repository heruntergeladen werden kann. Die vollständige Liste der Treiber für die wichtigsten Browser (Chrome, Edge, Internet Explorer, Safari usw.) finden Sie in der offiziellen Selenium-Online-Dokumentation.

Hinweis

Wenn Sie Selenium per Remoteverbindung verwenden möchten, müssen Sie auch die Serverkomponente installieren. Sie finden das Installationspaket auf der offiziellen Download-Seite des Frameworks im Abschnitt Selenium Server (Grid). Denken Sie daran, dass zum Ausführen der Serveranwendung eine aktualisierte Version der Java Runtime Environment (JRE) erforderlich ist.

See also  PHP 8: Alles, was Sie über das neue Update wissen müssen

Schritt 2: Wählen Sie die entsprechende Entwicklungsumgebung (IDE) aus.

Wenn die Voraussetzungen für die Verwendung von Selen WebDriver erfüllt sind, können Sie anfangen zu schreiben Test – Scripts für Ihr Web – Projekt. Normalerweise reicht der beliebte Code-Editor für diesen Zweck aus . Es wird jedoch empfohlen, eine Python-IDE (oder eine Entwicklungsumgebung für die Sprache, mit der Sie arbeiten möchten) zu verwenden, um die Produktivität zu maximieren. Zu den beliebtesten und beliebtesten Lösungen gehören:

  • PyCharm : Sie können die Python PyCharm-IDE in einer kostenlosen Open Source-Community oder einer kostenpflichtigen professionellen Community finden, wenn Sie dies wünschen. In beiden Versionen können Sie Code für Tests mit Selen schreiben . Die unterstützten Betriebssysteme sind Windows, Linux und MacOS.
  • PyDev : PyDev ist ein Python- Plugin für die Eclipse-Entwicklungsumgebung, das speziell für die Entwicklung von Java-Anwendungen entwickelt wurde. Sie können diese Erweiterung auf der Projektseite oder direkt über den Update Manager herunterladen . Sowohl PyDev als auch Eclipse können auf allen gängigen Windows-, MacOS- und Linux-Systemen ausgeführt werden.

Schritt 3: Erstellen Sie ein Python-Skript, um den Browser (Firefox) mit Selenium zu testen

Sobald Sie die gewünschte Lösung gefunden haben, können Sie benutzerdefinierte Skripts schreiben, um die Interaktion mit dem Browser mithilfe von Selenium-Klassen und -Funktionen zu automatisieren . In diesem Selenium-Tutorial erstellen wir als Beispiel ein Python- Skript für Firefox, das die Google-Suchmaschine in Mozilla automatisch aufruft , einen Suchbegriff eingibt und die Ergebnisse dann auswertet oder aufzeichnet . Diese automatisierten Schritte werden in Codeform übertragen und sehen folgendermaßen aus:

  from selenium import webdriver from selenium.webdriver.common.keys import Keys # Crear una sesión de Firefox driver = webdriver.Firefox() driver.implicitly_wait(30) driver.maximize_window() # Acceder a la aplicación web driver.get("http://www.google.es") # Localizar cuadro de texto search_field = driver.find_element_by_id("lst-ib") search_field.clear() # Indicar y confirmar término de búsqueda search_field.send_keys("Término de búsqueda") search_field.submit() # Obtener la lista de resultados de la búsqueda y mostrarla # mediante el método find_elements_by_class_name lists= driver.find_elements_by_class_name("_Rm") # Pasar por todos los elementos y reproducir el texto individual i=0 for listitem in lists: print (listitem.get_attribute("innerHTML")) i=i+1 if(i>10): break # Cerrar la ventana del navegador driver.quit()  

Sie können die Bedeutung jeder Komponente des Skripts in der folgenden Tabelle überprüfen :

Codezeile (n) Bedeutung
aus Selen importieren Sie den Webdriver von selenium.webdriver.common.keys und importieren Sie die Schlüssel Zunächst wird das WebDriver-Modul geladen, um die Klassen und Methoden für die Unterstützung der verschiedenen Browser zu implementieren. Das Skript lädt dann die virtuelle Tastaturkonfiguration, um die Tastatureingaben später zu simulieren.
driver = webdriver.Firefox () driver.implicitly_wait (30) driver.maximize_window () Der zweite Schritt besteht darin, eine Instanz von Firefox zu erstellen, die dann mit Selenium-Befehlen gesteuert werden kann. Es gibt eine Wartezeit von 30 Sekunden, bis der Browser gestartet wird, und das Browserfenster sollte ebenfalls maximiert werden.
driver.get (“http://www.google.es”) Das Skript ruft die spanische Seite von Google auf, die hier als Grundlage für automatisierte Benutzerinteraktionen dient.
search_field = driver.find_element_by_id (“lst-ib”) search_field.clear () Nach dem Aufruf der Suchmaschine sucht das Skript nach dem Google-Suchtextfeld, das durch das ID-Attribut “lst-ib” gekennzeichnet ist. Sobald das Suchfeld gefunden wurde, wird es mit der Methode clear () gelöscht.
search_field.send_keys (“Suchbegriff”) search_field.submit () Der Text des Suchbegriffs wird dann mit der Methode submit () eingegeben.
listen = driver.find_elements_by_class_name (“_ Rm”) Die Suchergebnisse sind unten als <a> Elemente aufgeführt. Zu diesem Zeitpunkt wird die Methode find_elements_by_class_name eingeführt, um diese Ergebnisse zu steuern.
i = 0 für Listenelement in Listen: print (listitem.get_attribute (“innerHTML”)) i = i + 1 wenn (i> 10): break Im letzten aktiven Schritt zeigt das Skript die Trefferliste an und beschränkt sich auf die ersten zehn Einträge mit dem Tag <a>.
driver.quit () Die letzte Codezeile weist die Browserinstanz an, geschlossen zu werden.
See also  Kostenlose Bilddatenbanken zum Kauf lizenzfreier Bilder

Hinweis

Der in diesem Selenium-Tutorial verwendete Fall ist ein hervorragendes Beispiel für die Anpassungsfähigkeit dieses Frameworks für Browsertests. Aber es zeigt auch , dass Selen WebDrive ist gleichermaßen interessant für Web mit Python Schaben, einer der vielen anderen Anwendungen für diese Testsoftware . Um mehr darüber zu erfahren , Web – Datensammlung finden Sie in unserem Artikel über Web – Scraping.

Selenium WebDriver: Nicht für alle Szenarien geeignet

Selenium WebDriver ist ein hervorragendes Tool zum Sammeln wichtiger Daten von Websites und zum Simulieren von Benutzerinteraktionen . Dieses Open-Source-Framework ist jedoch nicht für alle Anwendungsbereiche geeignet, wie die Entwickler in ihrer Liste der “Worst Cases” angeben. Einige der Fälle oder Webinhalte, die nicht mit Selenium getestet oder registriert werden können, sind die folgenden:

  • Captchas : Die berühmten und sehr beliebten Captchas wurden speziell zum Schutz vor Bots und Spam entwickelt und sind daher für Automatisierungsprozesse mit Selen nicht verfügbar. Daher sollten Eingabetests während des Scrapings deaktiviert oder vorübergehend durch ein alternatives Element ersetzt werden.
  • Datei herunterladen : Obwohl Selen Fällen können Sie das Herunterladen von Dateien starten, wird die API nicht den Download – Fortschritt anzeigt.
  • HTTP-Antwortcodes : Selen hat Probleme beim Umgang mit HTTP-Statuscodes. Diese Nachteile können jedoch bei Bedarf durch Verwendung eines zusätzlichen Proxys ausgeglichen werden.
  • Anmelden bei Diensten von Drittanbietern : Unabhängig davon, ob es sich um eine Social Media-Plattform, einen Cloud-Dienst oder ein E-Mail-Konto handelt, empfehlen wir nicht, sich über eine Selenium-Sitzung bei Diensten von Drittanbietern anzumelden. Einerseits stellen die Anbieter dieser Dienste ihre eigenen APIs zu Testzwecken bereit, andererseits kann das Testen mit dem Framework in diesen Fällen sehr zeitaufwändig sein .
  • Benchmarks : Selenium WebDriver eignet sich nicht für Benchmarks an sich , da das Framework nicht für diesen Zweck entwickelt wurde.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *