Zum Hauptinhalt springen

Pipeline-Integration

Sie können die Ausführung von msg.ZenTestAI in Ihre CI/CD-Pipeline integrieren. Dies ermöglicht es Ihnen, Ihre Anwendung nach jedem Deployment automatisch zu testen. Sie können Test-Sets direkt über die REST-Schnittstelle mittels API ausführen.

Nachfolgend finden Sie ein Beispiel für ein Bash-Skript zur Ausführung eines Test-Sets über die API. Die Test-Set-ID erhalten Sie aus der URL, wenn Sie das Test-Set im Browser öffnen.

tipp

Derzeit gibt es keine nativen Plugins für CI/CD-Tools wie Jenkins, GitLab oder GitHub Actions. Sie können jedoch die REST-API verwenden, um msg.ZenTestAI in Ihre CI/CD-Pipeline zu integrieren. Native Tools sind für die Zukunft geplant. Falls Sie eine spezifische Anfrage haben, kontaktieren Sie uns bitte unter hello@zentest.ai

sudo apt-get install -y jq

# Zugriffstoken vom entsprechenden Identitätsanbieter abrufen

# Neuen Testlauf mit Test-Set-ID: 1 erstellen
response_start=$(curl -s -X POST https://zentest.ai/product/FLEXAPP/test-sets/1/run-test-set \
-H "Authorization: Bearer $access_token" )

# Test-Ausführungs-ID basierend auf der Antwort abrufen
test_id=$(echo $response_start | jq -r '.id')

echo "Test-Execution-run: $test_id (url: https://zentest.ai/executions/display/$test_id )"

status_endpoint="https://zentest.ai/test-executions/execution/$test_id"

# Status-Endpunkt jede Sekunde abfragen
while true; do
status_response=$(curl -s -H "Authorization: Bearer $access_token" $status_endpoint)

status=$(echo $status_response | jq -r '.status')

echo "Aktueller Status: $status"

if [ "$status" == "FAILED" ]; then
echo "Testlauf fehlgeschlagen"
echo $status_response
exit 1
elif [ "$status" == "PASSED" ]; then
echo "Testlauf erfolgreich"
break
elif [ "$status" == "CANCELED" ]; then
echo "Testlauf abgebrochen"
exit 1
elif [ "$status" == "null" ]; then
echo "Testlauf-ID unbekannt"
echo $status_response
exit 1
else
echo "Test läuft noch"
fi

# 1 Sekunde warten, bevor erneut geprüft wird
sleep 1
done