Ab AEM 6.5 wird das UI-Test-Framework hobbes.js nicht mehr unterstützt. 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 stellt eine JavaScript-API zum Erstellen von Tests bereit.
Das AEM-Test-Framework verwendet Hobbes.js, eine in JavaScript geschriebene Testbibliothek. 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.
Ausführliche Informationen zur API finden Sie in der Dokumentation zu Hobbes.js Dokumentation .
Wenn Sie automatisierte Tests in AEM verwenden, sollten Sie die folgenden Begriffe kennen:
Aktion | Eine Aktion ist eine bestimmte Aktivität auf einer Webseite, 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 gemeinsam 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:
Das X-Symbol steht für einen gescheiterten Test:
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. Durch Tippen oder Klicken auf den Namen Ihres Tests im Bedienfeld Ergebnis werden alle Details angezeigt.
Das folgende Verfahren führt Sie durch die Erstellung und Ausführung einer Test Suite mit We.Retail-Inhalt. Sie können den Test jedoch einfach ändern, um eine andere Webseite zu verwenden.
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.