AEM-Lösung für übersprungene benutzerdefinierte Benutzeroberflächentests in Cloud Manager aufgrund falscher Docker-Kontextarchivverpackung
Wenn Cloud Manager benutzerdefinierte Benutzeroberflächentests überspringt, obwohl Ihre Tests lokal ausgeführt werden, wird das generierte Benutzeroberflächentest-Docker-Kontextarchiv möglicherweise mit den erforderlichen Dateien in einem übergeordneten Verzeichnis anstatt im Archivstamm gepackt. Durch Überprüfen der Archivstruktur und Aktualisieren der Maven-Assemblykonfiguration wird die Testerkennung in Cloud Manager wiederhergestellt.
Beschreibung description
Umgebung
Adobe Experience Manager as a Cloud Service
Problem/Symptome
Dieses Problem tritt in der Regel auf, wenn Cloud Manager die Opt-in-Dateien für Benutzeroberflächentests im generierten Docker-Kontextarchiv nicht erkennen kann.
- Der Schritt Benutzerdefinierte Benutzeroberflächentests zeigt eine Meldung ähnlich der, dass die Benutzeroberflächentests übersprungen wurden, da im Quell-Code-Repository keine Tests gefunden wurden.
- Ihre Playwright-, Cypress-, Selenium- oder anderen unterstützten Benutzeroberflächentests werden lokal ausgeführt, aber in Cloud Manager wird keine Ausführung von Benutzeroberflächentests angezeigt.
- Die
testing.properties-Datei ist im Repository vorhanden, Cloud Manager überspringt die Tests jedoch. - Sie können das Problem bestätigen, indem Sie das Modul Benutzeroberflächentests erstellen und überprüfen, wo
testing.propertiesin der generierten*-ui-test-docker-context.tar.gz-Datei gespeichert ist.tar -tvf target/*-ui-test-docker-context.tar.gz | grep testing.propertiesausführen. Wenn das Ergebnis einen Pfad wiesome-folder/testing.propertiesanstelle von nurtesting.propertiesanzeigt, wird das Archiv falsch gepackt. - Sie können die Konfiguration auch bestätigen, indem Sie überprüfen, ob
testing.propertiesneben derpom.xmlim Modul Benutzeroberflächentests gespeichert ist und genauui-tests.version=1enthält.
Lösung resolution
Führen Sie die folgenden Schritte aus, um das Problem zu lösen:
- Vergewissern Sie sich, dass die Pipeline die richtige Git-Verzweigung für das Modul Benutzeroberflächentests verwendet. Die Pipeline sollte die Verzweigung verwenden, die das
ui.testsund dietesting.propertiesenthält. Bestätigen Sie dies in der Pipeline-Konfiguration und in der Zusammenfassung der nächsten Pipeline-Ausführung. - Überprüfen Sie, ob
testing.propertiesneben derpom.xml-Datei des Moduls für Benutzeroberflächentests vorhanden ist und genauui-tests.version=1enthält. Die Datei sollte im richtigen Modul mit dem erforderlichen Wert angezeigt werden. Bestätigen Sie dies direkt im Repository. - Erstellen Sie das Modul für Benutzeroberflächentests lokal, damit das Docker-Kontextarchiv generiert wird. Es sollte eine Datei mit der Endung
-ui-test-docker-context.tar.gzimtargetdes Moduls angezeigt werden. Vergewissern Sie sich, dass das generierte Archiv denui-test-docker-contextKlassifikator verwendet. - Überprüfen Sie das generierte Archiv und überprüfen Sie, ob
testing.propertiesim Archivstamm gespeichert ist, indem Sietar -tvf target/*-ui-test-docker-context.tar.gz | grep testing.propertiesausführen. Es sollten nurtesting.propertiesohne übergeordnetes Ordnerpräfix angezeigt werden. Wenn die Ausgabe einen Pfad wiesome-folder/testing.propertiesanzeigt, wird das Archiv falsch gepackt. Fahren Sie mit dem nächsten Schritt fort. - Aktualisieren Sie
assembly-ui-test-docker-context.xmlso, dass der Docker-Kontext im Archivstamm gepackt wird. Stellen Sie sicher, dass die Assembly<includeBaseDirectory>false</includeBaseDirectory>bleibt undtesting.propertiesmit den Stammdateien wieDockerfileundwait-for-grid.shenthält. Die erforderlichen Dateien sollten auf der obersten Ebene des Archivs und nicht in einem Wrapper-Verzeichnis gespeichert werden. Bestätigen Sie dies, indem Sie das Modul neu erstellen und die Archivprüfung wiederholen, bistesting.propertiesam Stamm angezeigt wird. - Übertragen Sie die Verpackungsänderungen, pushen Sie sie in die von der Pipeline verwendete Verzweigung und führen Sie die Pipeline erneut aus. Der
Custom UI Testingsollte ausgeführt werden, anstatt eine Meldung zum Überspringen anzuzeigen. Bestätigen Sie dies in den Details zur Pipeline-Ausführung und überprüfen Sie, ob Testprotokolle für die Benutzeroberfläche verfügbar sind. - Wenn die Tests jetzt erkannt werden, aber während der Ausführung fehlschlagen, überprüfen Sie die Testprotokolle für die Benutzeroberfläche aus der Pipeline-Ausführung und korrigieren Sie die test- oder Framework-spezifischen Fehler. Cloud Manager sollte das Testbild erfolgreich erkennen und ausführen. Bestätigen Sie dies, indem Sie überprüfen, ob die Pipeline eine tatsächliche Ausführung des Benutzeroberflächen-Tests anzeigt und nicht einen übersprungenen Schritt.
Wenn die folgenden Symptome auftreten und die Fehlerbehebungsschritte die folgenden Ergebnisse liefern, senden Sie ein Ticket an den Adobe-Support: Das Archiv zeigt testing.properties am Stamm an, die Pipeline verwendet die richtige Verzweigung und Cloud Manager meldet weiterhin, dass keine Benutzeroberflächentests gefunden wurden.
Fügen Sie bei der Kontaktaufnahme mit dem Support die Archivliste, die assembly-ui-test-docker-context.xml-Datei, die pom.xml des Benutzeroberflächentestmoduls und die URL zur Pipeline-Ausführung hinzu.