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.properties in der generierten *-ui-test-docker-context.tar.gz-Datei gespeichert ist. tar -tvf target/*-ui-test-docker-context.tar.gz | grep testing.properties ausführen. Wenn das Ergebnis einen Pfad wie some-folder/testing.properties anstelle von nur testing.properties anzeigt, wird das Archiv falsch gepackt.
  • Sie können die Konfiguration auch bestätigen, indem Sie überprüfen, ob testing.properties neben der pom.xml im Modul Benutzeroberflächentests gespeichert ist und genau ui-tests.version=1 enthält.

Lösung resolution

Führen Sie die folgenden Schritte aus, um das Problem zu lösen:

  1. 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.tests und die testing.properties enthält. Bestätigen Sie dies in der Pipeline-Konfiguration und in der Zusammenfassung der nächsten Pipeline-Ausführung.
  2. Überprüfen Sie, ob testing.properties neben der pom.xml-Datei des Moduls für Benutzeroberflächentests vorhanden ist und genau ui-tests.version=1 enthält. Die Datei sollte im richtigen Modul mit dem erforderlichen Wert angezeigt werden. Bestätigen Sie dies direkt im Repository.
  3. 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.gz im target des Moduls angezeigt werden. Vergewissern Sie sich, dass das generierte Archiv den ui-test-docker-context Klassifikator verwendet.
  4. Überprüfen Sie das generierte Archiv und überprüfen Sie, ob testing.properties im Archivstamm gespeichert ist, indem Sie tar -tvf target/*-ui-test-docker-context.tar.gz | grep testing.properties ausführen. Es sollten nur testing.properties ohne übergeordnetes Ordnerpräfix angezeigt werden. Wenn die Ausgabe einen Pfad wie some-folder/testing.properties anzeigt, wird das Archiv falsch gepackt. Fahren Sie mit dem nächsten Schritt fort.
  5. Aktualisieren Sie assembly-ui-test-docker-context.xml so, dass der Docker-Kontext im Archivstamm gepackt wird. Stellen Sie sicher, dass die Assembly <includeBaseDirectory>false</includeBaseDirectory> bleibt und testing.properties mit den Stammdateien wie Dockerfile und wait-for-grid.sh enthä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, bis testing.properties am Stamm angezeigt wird.
  6. Ü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 Testing sollte 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.
  7. 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.

recommendation-more-help
experience-cloud-kcs-help-kbarticles