Cloud Runner-Testbenutzer-REST-API

  • Freigeben Version: Washingtondc
  • Aktualisiert 6. Februar 2024
  • 10 Minuten Lesedauer
  • Verwaltet Testbenutzeraufträge, die in einem Cloud Runner für Automated Test Framework (ATF) ausgeführt werden sollen.

    Die Cloud Runner Test User API erfordert das Plugin ATF Test Generator and Cloud Runner (sn_atf_tg). Die mit dieser API verfügbaren Methoden werden im Now -Namespace ausgeführt und können mit API-Name, One-Click Regression Testing for ATF, im REST-API-Explorer aufgerufen werden. Für den Zugriff auf diese API ist die Administratorrolle erforderlich.

    Sie können diese API für die folgenden Aufgaben verwenden:
    • Starten Sie den Benutzertestauftrag.
    • Legen Sie den Cloud-Benutzer fest.
    • Überprüfen Sie, ob der angegebene Benutzer gültig ist.
    • Überprüfen Sie den Fortschritt des Benutzertestauftrags.
    • Brechen Sie den Testauftrag ab.

    Die Cloud Runner Test Runner- API kann zusammen mit Cloud Runner-Testgenerierung-REST-API und Cloud Runner-Testbenutzer-REST-APIverwendet werden. Sie können beispielsweise einen Test generieren (Cloud Runner Test Generierungs-API), dann den Fortschritt des Tests in der Browser-Orchestration-Warteschlange (Cloud Runner TEST Generierungs-API) abrufen und die Anzahl der Tests überprüfen, die bestanden wurden oder fehlgeschlagen sind.

    Informationen zum Anzeigen der Server-API-Referenzdokumentation dieser API finden Sie unter Cloud Runner TestUserApi – Scoped, Global.

    Testbenutzer – GET /now/sn_atf_tg/test_user_progress

    Stellt den Status des Testbenutzerauftrags für einen bereitgestellten BOQ-Datensatz (Browser Orchestration Queue) bereit.

    URL-Format

    Standard-URL: GET /api/now/sn_atf_tg/test_user_progress

    Unterstützte Anforderungsparameter

    Tabelle : 1. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 2. Abfrageparameter
    Name Beschreibung
    snboqId Erforderlich. Die sys_id des BOQ-Datensatzes des Testbenutzerauftrags, von dem der Fortschritt abgerufen werden soll. Befindet sich in der BOQ-Tabelle [sn_atf_tg_sn_boq].

    Datentyp: Zeichenfolge

    Tabelle : 3. Anforderungstextparameter (XML oder JSON)
    Name Beschreibung
    Keine

    Kopfzeilen

    Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header.

    Tabelle : 4. Anforderungskopfzeilen
    Kopfzeile Beschreibung
    Akzeptieren Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml.

    Standard: application/json

    Tabelle : 5. Antwortkopfzeilen
    Kopfzeile Beschreibung
    Keine

    Statuscodes

    Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter HTTP-Antwortcodesder REST-API.

    Tabelle : 6. Statuscodes
    Statuscode Beschreibung
    200 Fortschritt des Testanwenderauftrags erfolgreich abgerufen.
    400 Fehler beim Abrufen des Status des BOQ-Datensatzes. Gibt eine der folgenden Nachrichten zurück:
    • Keine BOQ-ID übergeben – Es wurde keine BOQ-ID angegeben. Fügen Sie dem Anforderungstext die BOQ-ID hinzu.
    • BOQ-Datensatz kann nicht gefunden werden – Ungültige Sys-ID. Vergewissern Sie sich, dass die sys_id des BOQ-Datensatzes gültig und der Datensatz vorhanden ist.
    403 Fehler beim Gewähren des Anwenderzugriffs auf den Endpunkt. Stellen Sie sicher, dass der Benutzer über die Administratorrolle verfügt.

    Antworttextparameter (JSON oder XML)

    Name Beschreibung
    Ergebnis Objekt mit den Fortschrittsergebnissen des Test-Runner-Auftrags oder einer Meldung, in der erläutert wird, warum die Anforderung fehlgeschlagen ist.
    "result": { 
        "progress": 100, 
        "state": "completed" 
      }

    Oder:

    "result": { 
        "message": "String"
    }

    Datentyp: Objekt

    result.message Fehlermeldung, die angibt, warum der Test-Runner-Fortschritt nicht abgerufen werden kann. Der Nachrichtenparameter wird in einer erfolgreichen Antwort nicht zurückgegeben.

    Datentyp: Zeichenfolge

    result.progress Ein Prozentsatz, der angibt, wie nahe der Abschluss eines Tests im Status „Ausgeführt“ ist.

    Datentyp: Zahl

    result.state Aktueller Status des BOQ-Datensatzes.

    Mögliche Werte:

    • Ausstehend – Die angeforderte Testaktivität wurde erstellt und wartet auf die Ausführung.
    • Wird verarbeitet – Die Instanz scannt nach Datensätzen, um sicherzustellen, dass die Ausführungstracker für Cloud Runner markiert sind, bevor die Anforderung an die Cloud-Infrastruktur gesendet wird.
    • Angeforderte Browser: Es wurde eine Anforderung an die Cloud-Infrastruktur gesendet, um Browser zur Testgenerierung oder Testausführung zu starten.
    • Wird ausgeführt – Cloud-Infrastrukturbrowser suchen nach ausstehenden Tests und führen sie aus.
    • Abgeschlossen: Die Testaufgabe ist abgeschlossen.
    • Status „Fehlgeschlagen“: Die Testaufgabe ist fehlgeschlagen.

    Datentyp: Zeichenfolge

    cURL-Anforderung

    Das folgende Anforderungsbeispiel zeigt, wie der Fortschritt eines Testbenutzerauftrags überprüft wird.

    curl "https://instance.service-now.com/api/now/sn_atf_tg/test_user_progress?snboqId=<sys_id of SNBOQ record>" \ 
    --request GET \ 
    --header "Accept:application/json" \ 
    --user "username:password"

    Antworttext:

    { 
      "result": { 
        "progress": 100, 
        "state": "completed" 
      } 
    }

    Das folgende Beispiel gibt die Fehlermeldung 400 zurück, wenn keine BOQ-ID übergeben wird.

    curl "https://instance.service-now.com/api/now/sn_atf_tg/test_user_progress" \
    --request GET \
    --header "Accept:application/json" \
    --user "username:password"

    Antwort:

    {
      "result": {
        "message": "No SNBOQ ID passed in, add snboqId to request body"
      }
    }

    Das folgende Beispiel gibt die Fehlermeldung 400 zurück, wenn eine ungültige BOQ-ID übergeben wird.

    curl "https://instance.service-now.com/api/now/sn_atf_tg/test_user_progress?snboqId=invalid_sys_id" \
    --request GET \
    --header "Accept:application/json" \
    --user "username:password"

    Antwort:

    {
      "result": {
        "message": "Invalid SNBOQ sys_id passed in"
      }
    }

    Testbenutzer: GET /now/sn_atf_tg/is_valid_cloud_user

    Überprüft, ob ein angegebener Anwender ein gültiger Cloud-Anwender ist.

    Diese Methode überprüft, ob der Benutzer die folgenden Kriterien erfüllt:
    • Existiert,
    • Ist aktiv,
    • Ist nicht ausgesperrt,
    • Passwortzurücksetzung erforderlich,
    • Ist Administrator,
    • Ist schreibgeschützt,
    • Ist nur für Webservices

    URL-Format

    Standard-URL: GET /api/now/sn_atf_tg/is_valid_cloud_user

    Unterstützte Anforderungsparameter

    Tabelle : 7. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 8. Abfrageparameter
    Name Beschreibung
    username Erforderlich. Benutzername des sys_user, um zu überprüfen, ob der Benutzer die folgenden Baselinekriterien erfüllt.
    • Existiert,
    • Ist aktiv,
    • Ist nicht ausgesperrt,
    • Passwortzurücksetzung erforderlich,
    • Ist Administrator,
    • Ist schreibgeschützt,
    • Ist nur für Webservices

    Wenn eine dieser Bedingungen fehlschlägt, gibt die API den booleschen Wert false mit einer Meldung darüber zurück, welche Kriterien fehlgeschlagen sind.

    Datentyp: Zeichenfolge

    Tabelle : 9. Anforderungstextparameter (XML oder JSON)
    Name Beschreibung
    Keine

    Kopfzeilen

    Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header.

    Tabelle : 10. Anforderungskopfzeilen
    Kopfzeile Beschreibung
    Akzeptieren Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml.

    Standard: application/json

    Tabelle : 11. Antwortkopfzeilen
    Kopfzeile Beschreibung
    Keine

    Statuscodes

    Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter HTTP-Antwortcodesder REST-API.

    Tabelle : 12. Statuscodes
    Statuscode Beschreibung
    200 Gibt „true“ oder „false“ zurück, wenn der Benutzer gültig ist und die Cloud-Benutzerkriterien erfüllt.
    403 Fehler beim Gewähren des Anwenderzugriffs auf den Endpunkt. Stellen Sie sicher, dass der Benutzer über die Administratorrolle verfügt.

    Antworttextparameter (JSON oder XML)

    Name Beschreibung
    Ergebnis Objekt mit den Ergebnissen der Anforderung.
    
      "result": { 
        "validUser": Boolean 
      }

    Datentyp: Objekt

    result.validUser Kennzeichnung, die angibt, ob der Benutzer die Cloud-Benutzerkriterien erfüllt. Bei „true“ erfüllt der Benutzer die Kriterien.

    Datentyp: Boolesch

    cURL-Anforderung

    Die folgende Anforderung überprüft, ob der angegebene sys_user die Kriterien für die Verwendung der Cloud-Funktionalität erfüllt.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/is_valid_cloud_user?username=<username of sys_user to check>" \ 
    --request GET \ 
    --header "Accept:application/json" \ 
    --user "username:password"

    Antworttext:

    { 
      "result": { 
        "validUser": <Boolean value indicating whether user is valid cloud user> 
      } 
    }

    Testbenutzer – POST /now/sn_atf_tg/test_user

    Fügt einen Testbenutzerauftrag in die BOQ-Tabelle [sn_atf_tg_sn_boq] für einen bestimmten Benutzernamen ein, der dann in Cloud Runner ausgeführt wird.

    URL-Format

    Standard-URL: POST /api/now/sn_atf_tg/test_user

    Unterstützte Anforderungsparameter

    Tabelle : 13. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 14. Abfrageparameter
    Name Beschreibung
    Keine
    Tabelle : 15. Anforderungstextparameter (XML oder JSON)
    Name Beschreibung
    username Erforderlich. Benutzername des sys_user zum Testen der End-to-End-Infrastruktur des Cloud-Runners.

    Datentyp: Zeichenfolge

    Header

    Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header.

    Tabelle : 16. Anforderungskopfzeilen
    Kopfzeile Beschreibung
    Akzeptieren Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml.

    Standard: application/json

    Content-Type Datenformat des Anforderungstexts. Unterstützte Typen: application/json oder application/xml.

    Standard: application/json

    Tabelle : 17. Antwortkopfzeilen
    Kopfzeile Beschreibung
    Keine

    Statuscodes

    Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter HTTP-Antwortcodesder REST-API.

    Tabelle : 18. Statuscodes
    Statuscode Beschreibung
    200 Ein Testanwender-BOQ-Auftrag wurde erfolgreich eingefügt.
    400 Fehler beim Starten des Testanwenderauftrags.

    Wenn ein leerer Benutzername angegeben wird oder ein Benutzer in der Tabelle „sys_user“ nicht gefunden werden kann, gibt der Server einen Fehler aus.

    403 Fehler beim Gewähren des Anwenderzugriffs auf den Endpunkt. Stellen Sie sicher, dass der Benutzer über die Administratorrolle verfügt.

    Antworttextparameter (JSON oder XML)

    Name Beschreibung
    Ergebnis Objekt mit den Ergebnissen der Anforderung.
    
      "result": { 
        "snboqId": String
      }

    Oder:

    "result": { 
        "message": "String"
    }

    Datentyp: Objekt

    result.message Fehlermeldung, die angibt, warum dem Benutzernamen keine Testfunktionen zugewiesen werden können. Der Nachrichtenparameter wird in einer erfolgreichen Antwort nicht zurückgegeben.

    Datentyp: Zeichenfolge

    result.snboqId Sys_id des BOQ-Datensatzes, der eingefügt wird, wenn der Testbenutzerauftrag erfolgreich gestartet wird. Befindet sich in der BOQ-Tabelle [sn_atf_tg_sn_boq].

    Datentyp: Zeichenfolge

    cURL-Anforderung

    Das folgende Anforderungsbeispiel zeigt, wie ein Testbenutzerauftrag in die BOQ-Tabelle [sn_atf_tg_sn_boq] für einen bestimmten Benutzernamen eingefügt wird.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_user" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"username\":\"<username of sys_user to test cloud infrastructure>\"}" \ 
    --user "username:password"

    Die Antwort gibt eine sys_id des BOQ-Datensatzes zurück, der eingefügt wird, wenn der Testbenutzerauftrag gestartet wird.

    { 
      "result": { 
        "snboqId": "<sys_id of newly inserted BOQ record>" 
      } 
    }

    Das folgende Beispiel gibt eine Fehlermeldung 400 zurück, wenn kein Benutzername oder ein ungültiger Benutzername übergeben wird.

    curl "https://instance.service-now.com/api/now/sn_atf_tg/test_user" \
    --request POST \
    --header "Accept:application/json" \
    --user "username:password"

    Antwort:

    {
      "result": {
        "message": "Unable to set cloud user as cloud user not valid"
      }
    }

    Testanwender – POST /now/sn_atf_tg/cancel_test_user

    Legt den Status der Testbenutzeraufgabe in der Tabelle „Browser Orchestration-Warteschlange (BOQ)“ [sn_atf_tg_sn_boq] auf „Abgeschlossen“ fest.

    URL-Format

    Standard-URL: POST /api/now/sn_atf_tg/cancel_test_user

    Unterstützte Anforderungsparameter

    Tabelle : 19. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 20. Abfrageparameter
    Name Beschreibung
    Keine
    Tabelle : 21. Anforderungstextparameter (XML oder JSON)
    Name Beschreibung
    snboqId Erforderlich. Sys_id des abzubrechenden BOQ-Datensatzes, der dem Testbenutzerauftrag zugeordnet ist. Befindet sich in der SNBOQ-Tabelle [sn_atf_tg_sn_boq].

    Datentyp: Zeichenfolge

    Header

    Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header.

    Tabelle : 22. Anforderungskopfzeilen
    Kopfzeile Beschreibung
    Akzeptieren Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml.

    Standard: application/json

    Content-Type Datenformat des Anforderungstexts. Unterstützte Typen: application/json oder application/xml.

    Standard: application/json

    Tabelle : 23. Antwortkopfzeilen
    Kopfzeile Beschreibung
    Keine

    Statuscodes

    Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter HTTP-Antwortcodesder REST-API.

    Tabelle : 24. Statuscodes
    Statuscode Beschreibung
    200 BOQ-Auftrag erfolgreich abgebrochen.
    400 Fehler beim Abbrechen des Auftrags. Gibt eine der folgenden Nachrichten zurück:
    • Keine BOQ-ID übergeben – Es wurde keine BOQ-ID angegeben. Fügen Sie dem Anforderungstext die BOQ-ID hinzu.
    • BOQ-Datensatz kann nicht gefunden werden – Ungültige Sys-ID. Vergewissern Sie sich, dass die sys_id des BOQ-Datensatzes gültig und der Datensatz vorhanden ist.
    403 Fehler beim Gewähren des Anwenderzugriffs auf den Endpunkt. Stellen Sie sicher, dass der Benutzer über die Administratorrolle verfügt.

    Antworttextparameter (JSON oder XML)

    Name Beschreibung
    Ergebnis Objekt mit den Ergebnissen der Anforderung.
    
      "result": { 
        "message": String
      }

    Datentyp: Objekt

    result.message Nachricht, die angibt, ob der Testbenutzerabbruch erfolgreich war.

    Datentyp: Zeichenfolge

    cURL-Anforderung

    Die folgende Anforderung veranschaulicht, wie ein Testbenutzerauftrag in der Tabelle „Browser Orchestration-Warteschlange“ [sn_atf_tg_sn_boq] abgebrochen wird.

    curl "https://instance.service-now.com/api/now/sn_atf_tg/cancel_test_user" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"snboqId\":\"<sys_id of BOQ record>\"}" \ 
    --user "username:password"

    Erfolgreiche Antworttext:

    { 
      "result": { 
        "message": "success" 
      } 
    }

    Das folgende Beispiel gibt die Fehlermeldung 400 zurück, wenn keine BOQ-ID übergeben wird.

    curl "http://localhost:8080/api/now/sn_atf_tg/cancel_test_user" \
    --request POST \
    --header "Accept:application/json" \
    --user "username:password"

    Antwort:

    {
      "result": {
        "message": "No SNBOQ ID passed in, add snboqId to request body"
      }
    }

    Das folgende Beispiel gibt die Fehlermeldung 400 zurück, wenn eine ungültige BOQ-ID übergeben wird.

    curl "http://localhost:8080/api/now/sn_atf_tg/cancel_test_user" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{\"snboqId\":\"invalid_sys_id\"}" \
    --user "username:password"

    Antwort:

    {
      "result": {
        "message": "Invalid SNBOQ sys_id passed in"
      }
    }

    Testbenutzer – POST /now/sn_atf_tg/select_cloud_user

    Startet einen End-to-End-Testbenutzerauftrag in Cloud Runner. Wenn sich der Benutzer mit der Administratorrolle anmelden kann, wird die Cloud-Benutzereigenschaft für zukünftige Testläufe und Testgenerierungen standardmäßig auf diesen Benutzer festgelegt.

    URL-Format

    Standard-URL: POST /api/now/sn_atf_tg/select_cloud_user

    Unterstützte Anforderungsparameter

    Tabelle : 25. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 26. Abfrageparameter
    Name Beschreibung
    Keine
    Tabelle : 27. Anforderungstextparameter (XML oder JSON)
    Name Beschreibung
    username Erforderlich. Benutzername des sys_user zum Testen und Festlegen des Cloud-Benutzers für zukünftige Test-Runner- und Testgenerierungsaufträge.

    Datentyp: Zeichenfolge

    Header

    Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header.

    Tabelle : 28. Anforderungskopfzeilen
    Kopfzeile Beschreibung
    Akzeptieren Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml.

    Standard: application/json

    Content-Type Datenformat des Anforderungstexts. Unterstützte Typen: application/json oder application/xml.

    Standard: application/json

    Tabelle : 29. Antwortkopfzeilen
    Kopfzeile Beschreibung
    Keine

    Statuscodes

    Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter HTTP-Antwortcodesder REST-API.

    Tabelle : 30. Statuscodes
    Statuscode Beschreibung
    200 Die End-to-End-Cloud-Runner-Infrastruktur wurde erfolgreich getestet und der Cloud-Benutzer für zukünftige Testausführungs- und Testgenerierungsaufträge festgelegt.
    400 Fehler beim Testen der vollständigen End-to-End-Cloud-Runner-Infrastruktur und beim Festlegen des Cloud-Anwenders. Stellen Sie sicher, dass der Benutzername nicht leer ist oder der Benutzer in der Tabelle „sys_user“ für einen bestimmten Benutzernamen vorhanden ist.
    403 Fehler beim Gewähren des Anwenderzugriffs auf den Endpunkt. Stellen Sie sicher, dass der Benutzer über die Administratorrolle verfügt.

    Antworttextparameter (JSON oder XML)

    Name Beschreibung
    Ergebnis Objekt mit den Ergebnissen der Anforderung.
    
      "result": { 
        "message": "String"
      }

    Datentyp: Objekt

    result.message Nachricht, die angibt, ob der Benutzer erfolgreich für zukünftige Testläufe und Testgenerierungen in der Cloud Runner-Infrastruktur ausgewählt wurde.

    Datentyp: Zeichenfolge

    cURL-Anforderung

    Das folgende Beispiel zeigt, wie Sie die Auswahl eines bestimmten Benutzers für zukünftige Testläufe und Testgenerierungen in der Cloud Runner-Infrastruktur anfordern.

    curl "https://instance.service-now.com/api/now/sn_atf_tg/select_cloud_user" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"username\":\"<username of sys_user to set as cloud user>\"}" \ 
    --user "username:password"

    Der Antworttext gibt eine Erfolgsmeldung zurück, die angibt, dass der Cloud-Benutzer erfolgreich für Testläufe und Generierungen ausgewählt wurde.

    { 
      "result": { 
        "message": "success" 
      } 
    }

    Das folgende Beispiel gibt eine Fehlermeldung 400 zurück, wenn kein Benutzername oder ein ungültiger Benutzername übergeben wird.

    curl "https://instance.service-now.com/api/now/sn_atf_tg/select_cloud_user" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{\"username\":\"invalid_username\"}" \
    --user "username:password"

    Antwort:

    {
      "result": {
        "message": "Unable to set cloud user as user invalid_username is not valid"
      }
    }