WebDriver und Selenium auf einem neuen Niveau
Was ist Neodymium?
Testautomation mit Neodymium
Neodymium ist eine Testautomatisierungsbibliothek für Webanwendungen. Sie nutzt bewährte Open-Source-Bibliotheken, führt diese zusammen und ergänzt oft benötigte Funktionen.
Neodymium versucht, die typischsten und dringlichsten Probleme bei der UI-Testautomatisierung zu lösen, indem es JUnit, WebDriver und ein angemessenes Reporting kombiniert und erweitert.
Die BDD/Cucumber-Semantik wird ebenfalls unterstützt, so dass Sie Tests optional auf diese Weise erstellen können.
Gebrauchsfertige Templates erleichtern den Einstieg in Ihre eigene Testautomatisierung.
Features
Die wichtigsten Features in Kurzform
JUnit
Basis-Framework
JUnit bildet das Basis-Framework, da es weit verbreitet ist. Es ist einfach in verschiedene Umgebungen integrierbar und bietet umfassende IDE-Unterstützung. Neodymium unterstützt JUnit 4 und JUnit 5.
WebDriver
Browser-Automatisierung
WebDriver bildet den Kern, denn es ist die einzige Möglichkeit, konsistent mit Browsern zu kommunizieren, ohne proprietäre Technologien zu verwenden. Mehr
Allure
Test Reporting
Allure ist ein flexibles, leichtgewichtiges, mehrsprachiges Werkzeug zur Generierung von Testberichten, das eine sehr übersichtliche Darstellung der durchgeführten Testabläufe bietet. Mehr
Selenide
Kompaktes Fluent-API
Es gibt eine Vielzahl von UI-Automatisierungsbibliotheken, die auf WebDriver aufsetzen. Selenide ist einer der beliebtesten Ansätze, da er kompakt ist, viele der grundlegenden Herausforderungen löst und Fluent-Syntax unterstützt. Mehr
BDD
Cucumber
Neodymium unterstützt BDD. Wenn Sie diesen Teststil bevorzugen, können Sie Ihre Tests mit Cucumber organisieren. Mehr.
Owner
Properties neu definiert
Mit "Owner" benötigen Sie keinen Code mehr zum Laden, Konvertieren und Verwalten von Property-Dateien, sondern verwenden Ihre Properties auf einfachstmögliche Art. Mehr
Maven
Das Build-Werkzeug
Wir verwenden eines der gebräuchlichsten Build-Werkzeuge. Wenn Sie stattdessen ein anderes Werkzeug nutzen möchten, können Sie das gern tun.
Java
Breite Unterstützung
Neodymium nutzt die Programmiersprache mit den meisten und besten Bibliotheken. Behalten Sie Ihre bekannten Programmiermuster bei.
Weitere Features
Weitere interessante Features im Detail
Multi-Browser
Ein Testfall, verschiedene Browser
Einfache Einrichtung und Verwendung verschiedener Browser, einschließlich Remote-Browsern. Annotationen pro Testfall legen fest, welche Browser von genau diesem Testfall unterstützt werden. Neodymium wird den Testfall automatisch mehrfach ausführen und die Ergebnisse korrekt erfassen.Page Object Model (POM)
Strukturelle Unterstützung
Unsere Beispiel-Testsuiten demonstrieren Page- und Component-Konzepte für ein einfacheres und saubereres Design. Sie erhalten strukturelle Unterstützung für eine gut wartbare Architektur Ihrer Testsuiten. Natürlich steht es Ihnen frei, jeden Weg zu gehen, den Sie möchten.
Testdaten
Datengetriebene Tests
Neodymium unterstützt ausgelagerte Testdaten, einschließlich, aber nicht beschränkt auf Speicherformate wie JSON, CSV und XML. Die Daten werden dem Testfall zugeordnet. Neodymium führt den Testfall dann automatisch für alle verfügbaren Datensätze aus. So können Sie datengetriebene Tests durchführen.
Lokalisierung
Lokalisierung und Testdaten
Die Neodymium-Kontextklasse unterstützt den Test lokalisierter Anwendungen. Sie können Testdaten auf Basis der aktuell verwendeten Locale abrufen, und so im Testablauf je nach Kontext unterschiedliche Daten verwenden.
Ausführung aufzeichnen
Sehen, was geschehen ist
Eine Video- oder Gif-Aufnahme Ihrer Testausführung zeigt Ihnen, wie der Test im Browser ausgeführt wurde. Sie können auch das Bildmaterial überprüfen und versuchen, Fehlersituationen zu erkennen. So können Sie Ihre Tests in Aktion überprüfen und zu verbessernde Bereiche aufdecken, die sonst möglicherweise nicht erfasst worden wären.
Einfacher Einstieg
Templates und Demos
Mehrere Beispielprojekte auf GitHub demonstrieren, wie man Neodymium effektiv nutzen kann. Sie sind alle voll funktionsfähig und ein guter Ausgangspunkt für Ihr eigenes Testprojekt.
Das Starter Template ist eine minimale Test Suite mit minimaler Konfiguration. Forken Sie Ihr Projekt einfach von hier.
BDD-Fans bevorzugen vielleicht diese Version, denn sie demonstriert den "Less-Code"-Ansatz unter Nutzung von Cucumber.
Unser Showcase-Projekt demonstriert viele interessante Herausforderungen der Testautomation von Webanwendungen, einschließlich der Automation von Downloads, Sliders, Mailing, Mobile Testing und mehr.
Google Lighthouse
WebVitals und Accessibility
Mit Neodymium können Sie Google-Lighthouse-Reports im Rahmen Ihres Testablaufs erstellen. Sie stoßen sie einfach während Ihrer Ausführung an, es können sogar mehrere sein.
Sie erhalten die Ergebnisdaten als Teil des Allure-Reports, und, was das Beste daran ist, Sie können die zurückgegebenen Informationen überprüfen, um sicherzustellen, dass Sie nichts übersehen haben.
Lizenz
Neodymium ist Open Source unter der MIT-Lizenz.
Das Neodymium-Repository erreichen Sie hier: Neodymium auf GitHub. Dort finden Sie auch Links zu verwandten Projekten. Wir würden uns freuen, wenn Sie die Seite mit einem Stern markieren und für zukünftige Updates beobachten.