Diavi

Hilfezentrum · Verstehen

Wie sehe und teste ich meine Anwendung vor dem Zusammenführen?

Jeder Run startet eine Vorschau seines Branches, in Diavi als Website oder auf einem Telefon geöffnet, und führt darauf seine Ende-zu-Ende-Tests aus.

Jeder Run startet eine Vorschau seines Branches: Ihre Anwendung, gestartet mit dem Code des Merge Requests, auf Demodaten. Sie öffnet sich im Reiter Vorschau des Runs, in einem Computer- oder Telefonrahmen, und ihr Link steht mit dem Testkonto im Merge Request.

Meine Anwendung hat ein Frontend, eine API und eine Datenbank: Startet alles?

Ja, wenn Ihr Repository eine docker-compose.yml im Stammverzeichnis hat: Die Vorschau folgt ihr, und jeder Dienst erreicht die anderen über seinen Namen. Nichts, was unsere Maschine berühren würde, wird übernommen — privilegierter Modus, Host-Netzwerk, Ordner außerhalb des Repositorys —, und ein in einen Dienst eingebundener Ordner des Repositorys wird hineinkopiert. Ohne Compose-Datei startet die Vorschau den Haupt-Stack des Runs.

Gibt es ein Konto zum Anmelden?

Wenn der Stack es erlaubt, legt die Vorschau ein Demokonto an: Dolibarr, Laravel, Django. Es wird neben dem Link angezeigt. Konnte es nicht angelegt werden, laufen die Tests ohne Anmeldung, und der Run sagt es.

Wie werden die Tests geschrieben?

Vor dem Schreiben erkundet Diavi die Vorschau: Es meldet sich an, notiert die echten Adressen und was jeder Bildschirm zeigt, und folgt nie einem Abmelde- oder Löschlink. Die Tests stützen sich auf das Gesehene, nicht auf geratene Adressen, und jeder prüft, dass die geöffnete Seite existiert.

Ein Test schlägt fehl: Wer korrigiert was?

Diavi sortiert zuerst. Ist der Test selbst falsch — eine Seite, die es nicht gibt, ein Test, der nicht läuft, ein mehrdeutiges Element —, schreibt es den Test neu, ohne Ihren Code anzurühren. Andernfalls korrigiert es den Code. Der Kommentar im Merge Request sagt, welcher Weg gewählt wurde.

Sind meine Daten geschützt?

Die Vorschau läuft auf Demodaten, nie auf Ihren, und verschwindet bei Ablauf. Eine Anwendung, die direkt mit Firebase spricht, erreicht es während der Tests nicht: Sie können nicht in Ihr echtes Projekt schreiben.

Und eine mobile App?

Die Vorschau zeigt die Webversion der App in einem Telefonrahmen: Statusleiste, drei Bildschirmgrößen, Drehung. Bei Flutter aktivieren die Tests die Barrierefreiheitsebene, ohne die nichts lesbar ist. Native Darstellung für iOS oder Android wird noch nicht angeboten.