REST API für Cloud Runner-Testgenerierung

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 8 Minuten Lesedauer
  • Verwaltet die Testauftragsgenerierung, die in einem Cloud Runner für Automated Test Framework (ATF) ausgeführt werden soll.

    Die Cloud Runner Test Generation 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 dem API-Namen, Ein-Klick-Regressionstests für 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 Testgenerierungsauftrag.
    • Überprüft den Fortschritt des Testgenerierungsauftrags.
    • Brechen Sie den Testgenerierungsauftrag ab.

    Die Cloud Runner Test Generation API kann zusammen mit Cloud Runner Test Runner REST API und REST API für Cloud Runner-Testanwenderverwendet werden. Sie können beispielsweise die Testgenerierungs-API aufrufen, um einen Test auszuführen, dann den Fortschritt des Tests in der Orchestration-Warteschlange des Browsers (Cloud Runner TEST Generierungs-API) abzurufen und dann die Anzahl der Tests überprüfen, die bestanden oder fehlgeschlagen sind.

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

    Cloud Runner-Testgenerierung – GET /now/sn_atf_tg/test_generation_progress

    Stellt den Status jedes generierten Tests für einen angegebenen BOQ-Datensatz (Browser Orchestration Queue) bereit.

    URL-Format

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

    Unterstützte Anforderungsparameter

    Tabelle : 1. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 2. Abfrageparameter
    Name Beschreibung
    snboqId Erforderlich. Die sys_id des BOQ-Datensatzes des Testgenerierungsauftrags, dessen Fortschritt abgerufen werden soll.

    Datentyp: Zeichenfolge

    Tabelle: BOQ [sn_atf_tg_sn_boq]

    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-Antwortcodes der REST-API.

    Tabelle : 6. Statuscodes
    Statuscode Beschreibung
    200 Der Fortschritt des BOQ-Auftrags wurde 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 konnte 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. Vergewissern Sie sich, dass der Benutzer über die Administratorrolle verfügt.

    Parameter des Antworttexts (JSON oder XML)

    Name Beschreibung
    Ergebnis Objekt mit den Fortschrittsergebnissen des generierten Testauftrags oder einer Meldung, die erklärt, warum die Anforderung fehlgeschlagen ist.

    Datentyp: Objekt

    "result": { 
        "testsSucceeded": Number, 
        "testsFailed": Number, 
        "testsPending": Number, 
        "testsInProgress": Number, 
        "testsSkipped": Number 
      } 
    }

    Oder:

    {
      "result": { 
        "message": "String" 
      } 
    }
    result.message Fehlermeldung, in der beschrieben wird, warum der Fortschritt der Testgenerierung nicht abgerufen werden kann. Der Nachrichtenparameter wird in einer erfolgreichen Antwort nicht zurückgegeben.

    Datentyp: Zeichenfolge

    Ergebnis.TestsErfolgreich Anzahl der generierten Tests, die bestanden haben.

    Datentyp: Zahl

    Ergebnis.TestsFehlgeschlagen Anzahl der generierten Tests, die fehlgeschlagen sind.

    Datentyp: Zahl

    Ergebnis.TestsAusstehend Anzahl der Anwendungsfälle, die auf generierte Tests warten.

    Datentyp: Zahl

    result.testsInProgress Anzahl der Anwendungsfälle, für die Tests erstellt werden.

    Datentyp: Zahl

    result.testsÜbersprungen Anzahl der aufgrund des Auftragsabbruchs übersprungenen Tests.

    Datentyp: Zahl

    cURL-Anforderung

    Der folgende GET-Aufruf gibt Fortschrittsinformationen zu den generierten Tests zurück, die der snboqId 1234 zugeordnet sind.

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

    Ausgabe:

    { 
      "result": { 
        "testsSucceeded": 0, 
        "testsFailed": 0, 
        "testsPending": 0, 
        "testsInProgress": 0, 
        "testsSkipped": 161 
      } 
    }

    Im folgenden Beispiel wird eine Fehlermeldung 400 zurückgegeben, wenn keine BOQ-ID übergeben wird.

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

    Antwort:

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

    Im folgenden Beispiel wird eine Fehlermeldung 400 zurückgegeben, wenn eine ungültige BOQ-ID übergeben wird.

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

    Antwort:

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

    Cloud Runner-Testgenerierung – POST /now/sn_atf_tg/cancel_test_generation

    Setzt den Testgenerierungsauftrag und den zugehörigen Update-Satz-Datensatz auf den Status „Abgeschlossen“. Bricht die Stammtracker aller generierten Tests ab, die ausgeführt werden. Wenn bei Abbruch Testaufträge in Bearbeitung sind, legt diese Methode einen der in Bearbeitung befindlichen Testdatensätze als übersprungen fest.

    Tests können aufgrund von Problemen mit Business-Regeln oder Zugriffssteuerungsregeln (Access Control Rule, ACL) fehlschlagen oder automatisch abgebrochen werden. Zeigen Sie die generierte Testtabelle an, um weitere Details zu fehlgeschlagenen oder abgebrochenen Tests zu erhalten.

    URL-Format

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

    Unterstützte Anforderungsparameter

    Tabelle : 7. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 8. Abfrageparameter
    Name Beschreibung
    Keine
    Tabelle : 9. Anforderungstextparameter (XML oder JSON)
    Name Beschreibung
    snboqId Erforderlich. Sys_id des abzubrechenden Datensatzes der Browser-Orchestrationswarteschlange (Browser Orchestration Queue, BOQ).

    Datentyp: Zeichenfolge

    Tabelle: BOQ [sn_atf_tg_sn_boq]

    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 : 10. 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 : 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-Antwortcodes der REST-API.

    Tabelle : 12. Statuscodes
    Statuscode Beschreibung
    200 Der BOQ-Auftrag wurde 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 konnte 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. Vergewissern Sie sich, dass der Benutzer über die Administratorrolle verfügt.

    Parameter des Antworttexts (JSON oder XML)

    Name Beschreibung
    Ergebnis Objekt mit den Ergebnissen der Stornierungsanforderung.

    Datentyp: Objekt

    "result": { 
        "message": "String"
    }
    result.message Meldung, die beschreibt, ob der Testabbruch erfolgreich war.

    Datentyp: Zeichenfolge

    cURL-Anforderung

    Die folgende Anforderung bricht den Testgenerierungsauftrag für einen angegebenen BOQ-Datensatz ab.

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

    Der Antworttext gibt eine Erfolgsmeldung zum Abbruch zurück.

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

    Im folgenden Beispiel wird eine Fehlermeldung 400 zurückgegeben, wenn keine BOQ-ID übergeben wird.

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

    Antwort:

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

    Im folgenden Beispiel wird eine Fehlermeldung 400 zurückgegeben, wenn eine ungültige BOQ-ID übergeben wird.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/cancel_test_generation" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{\"snboqId\":\"invalid_sys_id\"}" \
    --user "username":"password"

    Antwort:

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

    Cloud Runner-Testgenerierung – POST /now/sn_atf_tg/test_generation

    Fügt einen Datensatz in die Tabelle „Browser Orchestration Queue (BOQ)“ [sn_atf_tg_sn_boq] ein, um einen Testauftrag zu starten.

    URL-Format

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

    Unterstützte Anforderungsparameter

    Tabelle : 13. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 14. Abfrageparameter
    Name Beschreibung
    Keine
    Tabelle : 15. Anforderungstextparameter (XML oder JSON)
    Name Beschreibung
    katalogEncodedQuery Codierte Abfrage, die angibt, für welche Katalogelemente Tests generiert werden sollen. Eine leere Zeichenfolge ist standardmäßig für alle Katalogelemente verwendet. Weitere Informationen zum Bilden codierter Abfragen finden Sie unter Encoded query strings.

    Datentyp: Zeichenfolge

    E-Mail E-Mail-Adresse, die benachrichtigt werden soll, wenn die Testgenerierung abgeschlossen ist.

    Datentyp: Zeichenfolge

    maxTestCount Anzahl der zu generierenden Gesamttests.

    Akzeptierte Werte: Eine beliebige Zahl zwischen 1 und 9.999.

    Datentyp: Zahl

    Standard: 9999

    maxTestCountProItem Anzahl der pro Katalogelement zu generierenden Tests.

    Akzeptierte Werte: eine beliebige Zahl zwischen 1 und 10.

    Datentyp: Zahl

    Standard: 10

    maxTestCountProTable Anzahl der pro Tabelle zu generierenden Tests.

    Akzeptierte Werte: eine beliebige Zahl zwischen 1 und 10.

    Datentyp: Zahl

    Standard: 10

    tableEncodedQuery Codierte Abfrage, die die Tabellen angibt, für die Tests generiert werden sollen. Eine leere Zeichenfolge wird standardmäßig für alle Tabellen verwendet. Weitere Informationen zum Bilden codierter Abfragen finden Sie unter Encoded query strings.

    Datentyp: Zeichenfolge

    separateUpdateSetPerBereich Kennzeichnung, die angibt, ob generierte Tests in die entsprechenden Suiten, Update-Sätze und Bereiche getrennt oder Tests in einer Suite, einem Update-Satz und einem Bereich platziert werden sollen.
    Gültige Werte:
    • wahr: Tests werden in der jeweiligen Suite und im Update Set entsprechend dem Umfang der einzelnen Tabellen oder Katalogelemente platziert.
    • „false“: Alle generierten Tests werden in derselben Suite, demselben Update Set und demselben Umfang platziert. Bei „false“ ist scopeForGeneratingTests in der Anforderung erforderlich.

    Datentyp: Boolesch

    Standardwert: wahr

    scopeForGeneratingTests Erforderlich, wenn separateUpdateSetPerScope auf „falsch“ festgelegt ist. Sys_id des Bereichs, in dem alle generierten Tests platziert werden sollen.

    Datentyp: Zeichenfolge

    userEncodedQuery Codierte Abfrage, die angibt, für welche Anwender Tests generiert werden sollen. Eine leere Zeichenfolgeneingabe gilt standardmäßig für alle Tabellen. Weitere Informationen zum Bilden codierter Abfragen finden Sie unter Encoded query strings.

    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-Antwortcodes der REST-API.

    Tabelle : 18. Statuscodes
    Statuscode Beschreibung
    200 Es wurde erfolgreich ein Testgenerierungs-BOQ-Auftrag eingefügt. Alle Fehler werden während der Verarbeitung in den BOQ-Datensatzprotokollen angezeigt. Alle Eingaben generieren standardmäßig die maximale Anzahl von Tests für alle Tabellen und Servicekatalogelemente.
    403 Fehler beim Gewähren des Anwenderzugriffs auf den Endpunkt. Vergewissern Sie sich, dass der Benutzer über die Administratorrolle verfügt.

    Parameter des Antworttexts (JSON oder XML)

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

    Datentyp: Objekt

    result.snboqId Sys_id des Datensatzes, der in die Tabelle „sn_atf_tg_sn_boq“ eingefügt wird, wenn die Testgenerierung startet.

    Datentyp: Zeichenfolge

    cURL-Anforderung

    Mit dem folgenden Anforderungsbeispiel wird ein neuer Testauftrag in der Instanz ohne Anforderungsparameter gestartet und der Auftrag in die BOQ-Tabelle eingefügt.

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

    Antworttext:

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

    Das folgende Anforderungsbeispiel startet einen neuen Testauftrag mit einer maximalen Testanzahl von 2, filtert die Tests in der Incident-Tabelle und fügt den Auftrag dann in die BOQ-Tabelle ein.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_generation" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"maxTestCount\":\"2\",\"tableEncodedQuery\":\"name=incident\"}" \ 
    --user "username":"password"

    Antworttext:

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