Regelmäßiges Ausführen der Tests
Grundlagen
Um eine Vielzahl an Tests regelmäßig, z.B. jede Nacht, auszuführen, gibt es den Batch-Runner. Diese führt alle Testfälle eines Workspaces im "Headless"-Modus aus. "Headless" heißt, dass kein Browser-Fenster zu sehen ist und die Tests im Hintergrund ausgeführt werden.
Vorgehensweise
Mittels der Windows Aufgabenplanung kann mit wenig Aufwand eine regelmäßige Ausführung der Tests erreicht werden. Die erforderlichen geplanten Tasks können mithilfe des PowerShell-Skripts <client-dir>\teststudio\scheduledTasks\createScheduledTestExecution.ps1
erstellt werden.
Beispiel:
.\createScheduledTestExecution.ps1 -workspaceFolder C:\myWorkSpace -reportFolder C:\myReports -pushResultsIntoCrm $False -replaceExistingTask $False
Die vollständige Dokumentation zu diesem Skript kann über
Get-Help .\createScheduledTestExecution.ps1
createScheduledTestExecution.ps1 [-workspaceFolder] <string> [-reportFolder] <string> [-pushResultsIntoCrm] <bool> [-replaceExistingTask] [<CommonParameters>]
eingesehen werden.
Der erstellte geplante Task erfordert weitere Konfiguration:
Der Trigger bzw. Zeitplan muss angepasst werden.
Unter "Sicherheitsoptionen" sollte ein technischer Benutzer (oder Service User, gMSA) hinterlegt werden. Diesem muss -- wie bekannt -- das Recht "Anmelden als Stapelverarbeitungsauftrag" gewährt werden.
Wird ein "gruppenverwaltetes Dienstkonto" (gMSA) verwendet, sollte für dieses Konto das %WORKING_DIR%
des Test-Studios an einen Speicherort außerhalb von %APPDATA%
verschoben werden:
IF /i "%COMPUTERNAME%" == "MY-MACHINE" (
SET WORKING_DIR=d:\CURSOR\test-studio\working_dir
)
REM oder
IF /i "%USERNAME%" == "$gMSA_User$" (
SET WORKING_DIR=d:\CURSOR\test-studio\working_dir
)
IF NOT DEFINED WORKING_DIR (
SET WORKING_DIR=%APPDATA%\CURSOR\testStudio
)
Im %WORKING_DIR%
werden neben Einstellungen auch Log-Dateien abgelegt, die für die Fehlersuche hilfreich sind. Hintergrund ist, dass dieses Konto nur mit einem temporären %APPDATA%
-Verzeichnis für die Laufzeit des geplanten Tasks ausgestattet wird.
Regelmäßige Aktualisierung der WebDriver
Über das PowerShell-Skript <crm-client>\teststudio\scheduledTasks\createUpdateBrowserTask.ps1
kann analog ein geplanter Task zur regelmäßigen Aktualisierung des WebDrivers erstellt werden. Auch dieser erfordert weitere Konfiguration.
Hilfe
Der Batch-Runner hat eine eingebaute Hilfe, die über CURSOR_TestStudio_batch -h
zugänglich ist:
Usage: TestStudioCli [-hV] [COMMAND]
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
Commands:
update-driver Updates the driver for the specified browser(s).
execute-test-workspace Executes all tests in a given workspace.
Rückgabewerte des Batch-Runners
Der Batch-Runner liefert verschiedene Return-Codes zurück, die eine schnelle Ergebnisbegutachtung zulassen.
Code | Bedeutung |
---|---|
0 | Alle Tests erfolgreich ausgeführt oder WebDriver erfolgreich aktualisiert. |
1 | Es gab fehlgeschlagene Tests. |
2 | Die übergebenen Aufrufparameter für den Batch-Modus sind ungültig. |
3 | Die Testausführung wurde wegen eines schwerwiegenden, internen Fehlers abgebrochen. Weitere Informationen sind im Log zu finden. |
4 | Die Testausführung wurde abgebrochen, weil mindestens eine Testschrittbibliothek oder ein Testfall Syntaxfehler enthält. |
5 | Das Protokoll der Testausführung kann/konnte nicht gespeichert werden. Dieser Fehler kann vor der Testausführung auftreten, wenn geprüft wird, ob das Protokoll prinzipiell gespeichert werden könnte oder hinterher, wenn das Protokoll wirklich gespeichert wird. |
11 | Keine Testfälle im Workspace gefunden. |
12 | Die gespeicherten Login-Daten für das Test-CRM sind fehlerhaft. |
13 | Die gespeicherten Login-Daten für das Report-CRM sind fehlerhaft. |
14 | Das Test-System ist für die Ausführung von Tests ungeeignet (z.B. Produktivsystem) |
15 | Das Update des WebDrivers ist fehlgeschlagen. |
16 | Die zur Testausführung notwendige Konfiguration ist nicht vorgenommen worden. |
17 | Das zur Testausführung notwendige Aktionsrecht wurde dem Benutzer nicht gewährt. |
18 | Keine Modullizenz für das Test-Studio im CRM vorhanden. |