Ab AEM 6.5 wird das Framework für Benutzeroberflächentests hobbes.js als veraltet gekennzeichnet. Adobe plant keine weiteren Verbesserungen und empfiehlt Kunden die Verwendung der Selenium-Automatisierung.
AEM stellt ein Framework bereit, mit dem Sie das Testen Ihrer AEM-Benutzeroberfläche automatisieren können. Mit diesem Framework können Sie Tests der Benutzeroberfläche direkt in einem Webbrowser schreiben und ausführen. Das Framework umfasst eine JavaScript-API für das Erstellen von Tests.
Das AEM-Test-Framework nutzt Hobbes.js, eine Testbibliothek, die in JavaScript geschrieben wurde. Das Hobbes.js-Framework wurde für AEM-Tests als Teil des Entwicklungsprozesses entwickelt. Das Framework steht jetzt zur allgemeinen Verwendung zum Testen Ihrer AEM-Anwendungen zur Verfügung.
Detaillierte Angaben zur API finden Sie in der Dokumentation zu Hobbes.js.
Wenn Sie automatisierte Tests in AEM verwenden, sollten Sie die folgenden Begriffe kennen:
Aktion | Eine Aktion ist eine bestimmte Aktivität auf einer Web-Seite, z. B. das Klicken auf einen Link oder eine Schaltfläche. |
---|---|
Testfall | Ein Testfall ist eine bestimmte Situation, die aus einer oder mehreren Aktionen bestehen kann. |
Testsuite | Eine Test-Suite ist eine Gruppe verwandter Testfälle, die zusammen einen bestimmten Anwendungsfall testen. |
Öffnen Sie die Testen-Konsole, um die registrierten Test-Suites anzuzeigen. Das Test-Feld enthält eine Liste der Test-Suites samt ihrer Testfälle.
Navigieren Sie über Globale Navigation > Tools > Vorgänge > Testen zur Tools-Konsole.
Wenn Sie die Konsole öffnen, werden die Test-Suites links aufgeführt, zusammen mit der Option, sie alle nacheinander auszuführen. Der Bereich rechts mit einem Hintergrund im Schachbrettmuster ist ein Platzhalter. Hier werden Seiteninhalte bei der Testausführung angezeigt.
Test-Suites können einzeln ausgeführt werden. Wenn Sie eine Test-Suite ausführen, ändert sich die Seite, während die Testfälle und ihre Aktion ausgeführt werden, und die Ergebnisse werden nach dem Abschluss des Tests angezeigt. Symbole zeigen die Ergebnisse an.
Das Häkchen-Symbol kennzeichnet einen erfolgreichen Test:
Eine X-Symbol zeigt einen fehlgeschlagenen Test an:
So führen Sie eine Test-Suite aus:
Klicken oder tippen Sie im Testfeld auf den Namen des Testfalls, den Sie ausführen möchten, um die Details zu den Aktionen anzuzeigen.
Klicken oder tippen Sie auf die Schaltfläche Test ausführen.
Der Platzhalter wird durch Seiteninhalte ersetzt, wenn der Test ausgeführt wird.
Um die Ergebnisse des Testfalls anzuzeigen, tippen oder klicken Sie auf die Beschreibung, um das Feld Ergebnis zu öffnen. Wenn Sie im Feld Ergebnis auf den Namen des Testfalls tippen oder klicken, werden alle Details angezeigt.
Test-Suites werden nacheinander in der Reihenfolge ausgeführt, in der sie in der Konsole erscheinen. Sie können einen Test aufschlüsseln, um detaillierte Ergebnisse einzusehen.
Tippen oder klicken Sie im Testfeld auf die Schaltfläche Alle Tests ausführen oder auf die Schaltfläche Tests ausführen unter dem Titel der Test-Suite, die Sie ausführen möchten.
Um die Ergebnisse jedes Testfalls anzuzeigen, tippen oder klicken Sie auf den Titel des Testfalls. Wenn Sie im Bedienfeld Ergebnis auf den Namen des Tests tippen oder klicken, werden alle Details angezeigt.
Die folgenden Schritte erläutern die Erstellung und Ausführung einer Test-Suite mit We.Retail-Inhalten. Sie können den Test jedoch auch einfach für eine andere Web-Seite anpassen.
Vollständige Informationen zum Erstellen eigener Test-Suites finden Sie in der Dokumentation zur Hobbes.js-API.
Öffnen Sie CRXDE Lite. (https://localhost:4502/crx/de)
Klicken Sie mit der rechten Maustaste auf den Ordner /etc/clientlibs
und klicken Sie auf Erstellen > Ordner erstellen. Geben Sie als Namen myTests
ein und klicken Sie auf OK.
Klicken Sie mit der rechten Maustaste auf den Ordner /etc/clientlibs/myTests
und klicken Sie auf Erstellen > Knoten erstellen. Geben Sie die folgenden Eigenschaftswerte ein und klicken Sie dann auf OK:
myFirstTest
cq:ClientLibraryFolder
Fügen Sie dem Knoten „myFirstTest“ die folgenden Eigenschaften hinzu:
Name | Typ | Wert |
---|---|---|
categories |
Zeichenfolge[] | granite.testing.hobbes.tests |
dependencies |
Zeichenfolge[] | granite.testing.hobbes.testrunner |
Nur in AEM Forms
Um adaptive Formulare zu testen, fügen Sie die folgenden Werte den Kategorien (categories) und Abhängigkeiten (dependencies) hinzu. Beispiel:
categories:: granite.testing.hobbes.tests, granite.testing.hobbes.af.commons
dependencies: granite.testing.hobbes.testrunner, granite.testing.hobbes.af
Klicken Sie auf Alle speichern.
Klicken Sie mit der rechten Maustaste auf den Knoten myFirstTest
und klicken Sie auf Erstellen > Datei erstellen. Nennen Sie die Datei js.txt
und klicken Sie auf OK.
Geben Sie in der Datei js.txt
den folgenden Text ein:
#base=.
myTestSuite.js
Klicken Sie auf Alle speichern und schließen Sie dann die Datei js.txt
Klicken Sie mit der rechten Maustaste auf den Knoten myFirstTest
und klicken Sie auf Erstellen > Datei erstellen. Nennen Sie die Datei myTestSuite.js
und klicken Sie auf OK.
Kopieren Sie den folgenden Code in die Datei myTestSuite.js
und speichern Sie die Datei anschließend:
new hobs.TestSuite("Experience Content Test Suite", {path:"/etc/clientlibs/myTests/myFirstTest/myTestSuite.js"})
.addTestCase(new hobs.TestCase("Navigate to Experience Content")
.navigateTo("/content/we-retail/us/en/experience/arctic-surfing-in-lofoten.html")
)
.addTestCase(new hobs.TestCase("Hover Over Topnav")
.mouseover("li.visible-xs")
)
.addTestCase(new hobs.TestCase("Click Topnav Link")
.click("li.active a")
);
Navigieren Sie zur Testkonsole, um die Test-Suite zu testen.