git clone https://github.com/dBildungsplattform/schulportal-testautomatisierung cd schulportal-testautomatisierung npm ci npx playwright install --with-deps
Empfohlen wird VS-Code
npx playwright codegen https://main.dev.spsh.dbildungsplattform.de
npx playwright codegen https://SPSH-1234.dev.spsh.dbildungsplattform.de
npx playwright codegen https://spsh.staging.spsh.dbildungsplattform.de
npx playwright codegen https://localhost:8099/ --ignore-https-errors
USER='xxx' PW='xxx' FRONTEND_URL='https://main.dev.spsh.dbildungsplattform.de/' npx playwright test
USER="xxx" PW="xxx" npx playwright test login.spec.ts
USER='xxx' PW='xxx' FRONTEND_URL='https://main.dev.spsh.dbildungsplattform.de/' npx playwright test -g "Einen Benutzer mit der Rolle Lehrkraft anlegen" --headed
USER='xxx' PW='xxx' FRONTEND_URL='https://main.dev.spsh.dbildungsplattform.de/' npx playwright test Schule.spec.ts
PWDEBUG=1 USER='xxx' PW='xxx' FRONTEND_URL='https://main.dev.spsh.dbildungsplattform.de/' npx playwright test -g "Einen Benutzer mit der Rolle Lehrkraft anlegen"
npx playwright show-report
Die Default-Umgebung ist in der playwright.config.ts konfiguriert (dotenv.config)
npm run lint
Neue Testdaten, die während der Testausführung erstellt werden, haben den Prefix 'TAuto-PW-', gefolgt von einem Buchstaben für den Typ des Objekts + einen Zufallswert aus faker oder einem festen Wert. Der Name einer Rolle ist z.B. TAuto-PW-R-xxxxxxxxx. Somit ist es einfacher, die Testdaten zu erkennen, die durch die Playwright-Tests erstellt wurden.
Während der Entwicklung nur einen Test markieren, der alleine ausgeführt wird(temporär only hinzufügen in dem Test)
test.only('2 Schulen nacheinander anlegen', async ({ page }) => {
Dieses ist die kleinste Testsuite. Hiermit wird nur getestet, dass das Portal erfolgreich deployed wurde und die wichtigsten Komponenten lauffähig sind. Getestet wird dieses durch einen Login-Test, der nach der Anmeldung prüft, dass die Kachel "Schulportal-Administration" angezeigt wird
Die Testsuite läuft auf den Branch-Umgebungen und sollte eine Laufzeit von 5 Minuten nicht überschreiten. Für die Testuite werden die Testfälle mit der höchsten Priorität ausgewählt.
Die Testsuite enthält alle funktionalen Tests.
Die Testsuite hat einen ähnlichen Umfang wie die Testsuite long. Auf der stage werden aber nicht die Testfälle ausgeführt, die aufgrund noch nicht implementierter Funktionen (wie z.B. Schulen löschen) Testdaten hinterlassen. Desweiteren gibt es auf der Stage-Umgebung Schnittstellen wie z.B. itslearning, die nur da laufen bzw. eine Anbindung an das Testsystem von itslearning haben. Diese Testfälle können dann auch nur auf stage laufen.