E2E - End to End Tests lassen sich nicht starten

Ich befolge die Anweisungen hier:

https://docs.shopware.com/en/shopware-platform-dev-en/references-internals/testing/end-to-end-testing/running-e2e-tests

 

Bei e2e:open kommt diese Fehlermeldung:

 

Und bei e2e:run diese hier:

 

 

Kurze Anmerkung zur letzten Fehlermeldung, forever ist verfügbar:

In meinem eigenen Projekt, also innerhalb meines Plugins, habe ich eine komplett eigene Cypress Instanz, die problemlos läuft, aber unabhängig ist vom E2E Service den Shopware anbietet. Ich würde aber gerne mal die Tests von Shopware ausprobieren.

Ich nutze Xubuntu 18.04. Kann mir jemand helfen?

Danke und viele Grüße

Sascha

Hallo :slight_smile:

Zum Ausführen des Open oder Run Commands auf dem Cypress Container musst Du die XVFB-Nachrichten von Cypress aus dem Docker-Container an einen X11-Server weiterleiten, der auf dem Host-Rechner läuft - also den Zugriff über z.B. XHost für deinen User oder deine IP manuell freigeben. Hier findest du ein Beispiel für Mac; andere Betriebssysteme erfordern möglicherweise andere Befehle.

Ich gehe davon aus, dass du mit dem Command “psh e2e:init” begonnen hast, oder? So oder so kommt danach wahrscheinlich ein Folgefehler auf: Hier ist das direkte Verwenden von “localhost” im Cypress-Docker-Kontext schwierig, da Cypress einen eigenen Container nutzt, und somit das “localhost” auf den Cypress Container zeigt, nicht auf den “app_server” Container, der Shopware beinhaltet. Eine Möglichkeit, dies zu umgehen ist das Setzen der folgenden “psh.yaml.override” im “development” Template:

const:
  APP_URL: "http://docker.vm:8000" 

Danach einmal e2e:init, anschließend solltest du normal abeiten können.

Ganz außerhalb davon musst du auch nicht unbedingt Cypress in Docker verwenden, um unsere Tests ausführen zu können. Navigiere einfach in das Verzeichnis, in dem die Test liegen und bediene Cypress dort so wie du es kennst. Im Admin findest du die Tests bspw. unter dem Pfad “cd platform/src/Administration/Resources/app/administration/test/e2e”. Für Storefront ist der Pfad ähnlich aufgebaut, nur entsprechend für Storefront angepasst.

Ich hoffe ich konnte dir bis dahin schonmal weiterhelfen. Ansonsten, melde dich gerne! Smile

Viele Grüße,

Ramona

Kleiner EDIT : Nimm gerne die Zeile zum express server aus dem e2e:run Skript raus (dev-ops/e2e/scripts/run-docker.sh), wenn sie Probleme macht. Die wird an der Stelle aktuell eigentlich nichmal mehr gebraucht, wenn du vorher das e2e:init verwendest. Ich werde mir mal ansehen, ob die Zeile generell da generell rausgenommen werden kann.

1 Like