Tests in Ihrer Pipeline ausführen
Der Befehlszeilen-Runner, die Ergebnisse, die Ihr CI-Tool liest, und fertige Beispiele.
Ein Test, jede Pipeline
gtr-cli, der Befehlszeilen-Runner, führt einen Test genau wie die Schaltfläche „Test ausführen“ aus: dieselben Prüfungen, derselbe Bericht, derselbe Verlauf.Es ergänzt, was eine Pipeline braucht: einen Exitcode, Ergebnisdateien, die Ihr CI-Tool versteht, und jeden Nachweis eines Fehlschlags in einem Ordner.
Ihre Pipeline
und jedes Tool, das einen Befehl ausführt
jobs: gui-tests: runs-on: [self-hosted, windows] steps: - run: gtr-cli run tests --format github --junit results.xml
12 Tests laufen auf dem Bildschirm des Build-Agenten...
PASSED 12 von 12 Tests · exit code 0
- Exitcode0, wenn jeder Test bestanden hat, 1, wenn einer fehlgeschlagen ist: Der Build wird grün oder rot.
- JUnit, JSON, MarkdownErgebnisse, die Ihre Pipeline als Testergebnisse anzeigt, mit jedem Schritt benannt.
- Die Nachweise zu jedem FehlschlagSoll- und Ist-Bilder, der Bildschirm, der Bericht und das Video in einem Ordner.
Den Build-Rechner vorbereiten
Ein GUI-Test wird auf einem echten Bildschirm wiedergegeben, also braucht der Rechner, der ihn ausführt, einen.
| Braucht | Warum |
|---|---|
| Windows mit installiertem GUI Test Studio | Das Installationsprogramm setzt gtr-cli auf den PATH. |
| Eine angemeldete, entsperrte Desktop-Sitzung | Der Test klickt und tippt auf dem Live-Bildschirm.Führen Sie den Build-Agenten als normales Programm in dieser Sitzung aus, nicht als Hintergrunddienst. |
| Bildschirmauflösung und Skalierung der Tests | Elemente werden in der Größe verglichen, in der sie aufgezeichnet wurden. |
| Die zu testende App | Installiert, oder vom Test selbst mit einem Schritt „App starten“ gestartet. |
| Ein Platz Ihres Tarifs | Der Agent meldet sich einmal an, mit einem Maschinenschlüssel von Ihrer Kontoseite. |
Erstellen Sie den Schlüssel auf Ihrer Kontoseite unter Maschinenschlüssel und führen Sie dies einmal auf dem Agenten aus, mit dem Windows-Konto, das die Pipeline nutzt:
gtr-cli login --key GTS-XXXX-XXXX-XXXX-XXXXgtr-cli whoami sagt, ob der Agent angemeldet ist und bis wann.Ohne Anmeldung startet kein Lauf: Er gibt eine Zeile aus, die mit COULD NOT RUN beginnt, und endet mit dem Exit-Code 3.
Build-Agenten: Maschinenschlüssel
Ihr erster Befehl
Führen Sie in einem Terminal auf dem Build-Rechner jeden Test eines Ordners aus:
gtr-cli run tests --countdown 0 --junit results\junit.xml --artifacts results\artifacts--countdown 0 startet sofort (niemand sitzt am Bildschirm), --junit schreibt die Ergebnisdatei, die Ihr CI-Tool liest, und --artifacts sammelt Videos, Berichte und Fehlerbilder in einem Ordner.
gtr-cli check testsWas Ihre Pipeline zurückbekommt
| Exitcode | Bedeutung |
|---|---|
| 0 | Jeder Test hat bestanden.Der Build wird grün. |
| 1 | Mindestens ein Test ist fehlgeschlagen. |
| 2 | Der Befehl war falsch: eine unbekannte Option, eine fehlende Datei. |
| 3 | Ein Test konnte nicht laufen, zum Beispiel weil der Bildschirm von der Aufzeichnung abweicht. |
| 4 | Ein Lauf wurde abgebrochen. |
| Datei | Für |
|---|---|
| JUnit (--junit) | Die Registerkarte mit den Testergebnissen von GitLab, Jenkins, Azure DevOps, TeamCity und GitHub |
| Markdown-Zusammenfassung (--summary) | Ein Kommentar im Merge Request oder die Zusammenfassungsseite des Builds |
| JSON (--json) | Ihre eigenen Dashboards und Skripte |
| Artefaktordner (--artifacts) | Das Video, der Konfidenzbericht und die Fehlerbilder jedes Tests |
| Fehlerberichte (--bug-report pdf) | Ein ausgefüllter Fehlerbericht für jeden fehlgeschlagenen Test |
Die Läufe landen auch im Ergebnisordner jedes Tests, sodass der Verlauf des GUI Test Runner-Recorder die Pipeline-Läufe neben Ihren eigenen zeigt.
Fertige Beispiele
jobs:
gui-tests:
runs-on: [self-hosted, windows]
steps:
- uses: actions/checkout@v4
- run: gtr-cli run tests --countdown 0 --format github --junit results\junit.xml --summary results\summary.md --artifacts results\artifacts
- uses: actions/upload-artifact@v4
if: always()
with:
name: gui-test-results
path: resultsEinen Befehl bauen, ohne ihn zu tippen
In beiden Apps baut Befehlszeile & CI/CD (in GUI Test Studio im Menü „Datei“, im GUI Test Runner-Recorder im Menü „Test“) den Befehl für Sie: Haken Sie die gewünschten Optionen an, kopieren Sie das Ergebnis oder kopieren Sie das fertige Snippet für Ihr CI-Tool mit Ihren echten Pfaden.Die Registerkarte „Referenz“ erklärt jede Option.
Optionen, die Sie brauchen werden
| Option | Was sie bewirkt |
|---|---|
| --countdown 0 | Sofort starten.In einem Terminal gibt Ihnen der Standard-Countdown Zeit, die Maus loszulassen. |
| --retries 1 | Einen fehlgeschlagenen Test noch einmal ausführen, bevor er als fehlgeschlagen gilt. |
| --fail-fast | Nach dem ersten fehlgeschlagenen Test anhalten. |
| --timeout 600 | Einen Test abbrechen, der nach 10 Minuten noch läuft. |
| --baseline-profile "Dark mode" | Mit einem Ihrer Baseline-Profile ausführen. |
| --start-at 12.5 | Den Test an diesem Moment starten, in Sekunden. |
| --branch all | Für einen Webtest, der für mehrere Browser und Geräte erstellt wurde: jeden davon ausführen, den aufgezeichneten Test eingeschlossen.Nennen Sie stattdessen einen oder mehrere, um nur diese auszuführen. |
| --headless on | Webtests überall dort ohne Browserfenster ausführen, wo der Test es erlaubt. |
| --parallel off | Die Browser und Geräte eines Tests nacheinander statt nebeneinander ausführen. |
| --screen all | Auf einem Build-Rechner mit mehreren Monitoren: auf allen ausführen, auf dem Hauptbildschirm, auf der Nummer eines Monitors, auf dem Bildschirm des Terminals oder dort, wo der Test aufgezeichnet wurde.Standardmäßig der Bildschirm, den die Projekteinstellungen des Tests nennen: der Bildschirm des Terminals, sofern sie keinen nennen. |
| --run-banner off | Das schmale Banner TEST LÄUFT oben am Bildschirm während des Laufs ausblenden. |
| --ai-verification on | Die KI das endgültige Ergebnis fehlgeschlagener Bild- und Textprüfungen geben lassen.Das Ergebnis des Tests und der Exitcode richten sich danach, und was sich geändert hat, wird in die Konsole und die Ergebnisdateien geschrieben. |
| --ai-provider builtin | Ein Modell auf dem Build-Rechner selbst verwenden: nichts zu installieren, und ein fehlendes Modell wird einmalig heruntergeladen. |
| --ai-minor-differences fail | Eine Prüfung fehlschlagen lassen, in der die KI nur geringfügige Unterschiede findet.Standardmäßig besteht sie. |
| --ai-wait 600 | Die längste Zeit, die ein Test auf seine KI-Ergebnisse wartet, in Sekunden.Standardmäßig wählt das Tool selbst. |
gtr-cli helpFehlschläge an Jira melden
Ein fehlgeschlagener Test kann von selbst zu einem Jira-Vorgang werden: die Schritte zur Reproduktion, das erwartete und das tatsächliche Bild mit den markierten Änderungen, der Fehlerbericht als PDF und die Nachweise.Wird derselbe Fehler erneut gesehen, in einem anderen Build, Browser oder Gerät, erhält sein offener Vorgang einen Kommentar statt eines zweiten Vorgangs.
gtr-cli run tests --countdown 0 --jira on-failure --jira-project SCRUM --jira-labels ui-regression| Option | Was sie bewirkt |
|---|---|
| --jira on-failure | Für jeden fehlgeschlagenen Test einen Jira-Vorgang anlegen.Ein Test, der nicht laufen konnte, wird nie zu einem. |
| --jira-project SCRUM | Das Projekt, in das die Vorgänge gehen, mit seinem Schlüssel. |
| --jira-issue-type Bug | Der Vorgangstyp.Hat das Projekt keinen dieses Namens, wird der nächstliegende verwendet. |
| --jira-assignee "James" | Wem der Vorgang zugewiesen wird: eine E-Mail-Adresse oder der Name einer Person des Projekts. |
| --jira-labels a,b | Eigene Labels, durch Kommas getrennt. |
| --jira-repeat new | Immer ein neuer Vorgang, nie ein Kommentar zum offenen. |
Die Verbindung kommt aus der Umgebung, sodass das Token nie in einer Befehlszeile oder einem Build-Protokoll erscheint: JIRA_BASE_URL (Ihre Jira-Site), JIRA_USER_EMAIL und JIRA_API_TOKEN.Bewahren Sie das Token in Ihrem CI-Tool als geheimen Parameter oder Passwortparameter auf.Auf einem Computer, auf dem der GUI Test Runner-Recorder mit Jira verbunden ist, wird stattdessen dessen gespeicherte Verbindung verwendet.
Der ganze Ablauf mit einem echten Vorgang und einem echten Build: Jira mit dem Vertrauensbericht verbinden.
Web-Apps auf einem Build-Rechner
Ein auf einer Web-App aufgezeichneter Test öffnet seinen Browser selbst, im Vollbild-Kioskmodus, und schließt ihn am Ende.Auf einem Build-Rechner braucht das die Bildschirmgröße und Anzeigeskalierung der Aufzeichnung, einen angemeldeten und entsperrten Desktop und einen Lauf, der durch sein eigenes Zeitlimit endet.Web-App öffnen sagt, was sonst passiert und was zu tun ist.
Dieselben Hinweise stehen im Werkzeug selbst:
gtr-cli help web-appsJeder Browser und jedes Gerät in der Pipeline
Ein Webtest, der für mehrere Browser und Geräte erstellt wurde, führt mit --branch all alle aus, jeden mit eigenem Eintrag in der JUnit-Datei und eigener Historie.Smartphones, Tablets und die anderen Zweige ohne Fenster laufen nebeneinander, sie brauchen also keinen eigenen Bildschirm.gtr-cli info listet den Namen jedes einzelnen auf, und gtr-cli generate erstellt die noch fehlenden.Siehe Jeder Browser und jedes Gerät aus einer einzigen Aufzeichnung.
gtr-cli generate tests --branch missing
gtr-cli run tests --branch all --countdown 0 --junit results\junit.xmlTests ohne ihre Aufzeichnung weitergeben
Eine Testdatei enthält ihre Aufzeichnung, die Sie zum Bearbeiten brauchen, aber nicht zum Ausführen.Datei, Als schlanken Runner-Test exportieren (.GTR) in GUI Test Studio schreibt denselben Test ohne sie: eine viel kleinere Datei für einen Build-Rechner oder für Kolleginnen und Kollegen, die Tests nur ausführen. gtr-cli und der GUI Test Runner-Recorder führen .GTR-Dateien wie jeden Test aus.
| Test (.GTS) | Runner-Test (.GTR) | |
|---|---|---|
| Enthält | Die Schritte, die Prüfungen und die visuelle Referenz: Aufzeichnung, Bilder und Designs | Nur die Schritte und die Prüfungen |
| Gemacht für | Den Test erstellen und bearbeiten | Den Test ausführen |
| Größe | Größer: Sie wächst mit der Aufzeichnung | Viel kleiner |
| Öffnet sich in | GUI Test Studio und GUI Test Runner-Recorder | GUI Test Runner-Recorder und gtr-cli |
Wann ein Runner-Test sinnvoll ist
Nutzen Sie ihn überall, wo ein Test nur läuft: auf einer Build-Maschine, am Computer eines Testers, für eine Testsammlung, die weitergegeben oder bei Ihrem Code aufbewahrt wird.Der Lauf eines Runner-Tests liefert dasselbe Ergebnis und denselben Bericht wie sein Test.
Den Test selbst behalten
Ein Runner-Test lässt sich nicht bearbeiten: GUI Test Studio öffnet ihn nicht.Behalten Sie die .GTS als Original, bearbeiten Sie dort und exportieren Sie nach einer Änderung erneut.Auch GUI Test Runner-Recorder kann einen exportieren, über sein Menü Test oder die Export-Schaltfläche auf der Seite des Tests.
Ein Webtest mit mehreren Browsern und Geräten
Der Export fragt, was er enthalten soll.Alle Browser und Geräte legt jeden erzeugten Zweig in die eine Datei, bereit für --branch all.Nur die Aufzeichnung oder nur der angezeigte Zweig ergibt einen Runner-Test allein davon.Ein Runner-Test kann nur ausgeführt werden: Neue Browser und Geräte werden aus der .GTS erstellt.
Tests bei Ihrem Code aufbewahren
Tests sind gewöhnliche Dateien: Bewahren Sie sie in Ihrem Repository neben dem Code auf, den sie testen, und jeder Branch trägt die Tests, die zu ihm passen.
Kommen Sie nicht weiter?Sagen Sie uns, was Sie tun wollten, und wir antworten innerhalb eines Werktags.Ask our team