Cloud Runner Test Runner-REST-API

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

    Die Cloud Runner Test Runner- 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. Der Benutzer muss mindestens eine der folgenden Rollen haben, um auf diese API zugreifen zu können: admin, ATF-Testadministrator, ATF-Testdesigner oder ATF WS-Designer.

    Sie können diese API für die folgenden Aufgaben verwenden:
    • Starten Sie einen ATF-Test oder eine Test-Suite im Cloud Runner-Browser.
    • Überprüfen Sie den Fortschritt des Testauftrags.
    • 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 TestRunnerApi – Scoped, Global.

    Test Runner – GET /now/sn_atf_tg/test_runner_progress

    Stellt den Status jedes Tests bereit, der für einen angegebenen BOQ-Datensatz (Browser Orchestration Queue) ausgeführt wurde.

    URL-Format

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

    Unterstützte Anforderungsparameter

    Tabelle : 1. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 2. Abfrageparameter
    Name Beschreibung
    snboqId Erforderlich. Die sys_id des BOQ-Datensatzes des Test-Runner-Auftrags, 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 BOQ-Auftrags 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.

    Datentyp: Objekt

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

    Oder:

    {
      "result": { 
        "message": "String" 
      } 
    }
    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

    Die folgende Anforderung ruft den Fortschritt des Test-Runner-Auftrags des BOQ-Datensatzes ab.

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

    Die Antwort gibt an, dass der Test zu 100 % abgeschlossen ist.

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

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

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_runner_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 "http://instance.service-now.com/api/now/sn_atf_tg/test_runner_progress?snboqId=invalid_sys_id" \
    --request GET \
    --header "Accept:application/json" \
    --user "username:password"

    Antwort:

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

    Test Runner – POST /now/sn_atf_tg/cancel_test_runner

    Legt den Test-Runner-Auftrag auf den Status „Abgeschlossen“ fest und bricht die Stammtracker aller generierten Tests ab, die ausgeführt werden.

    URL-Format

    Standard-URL: GET /now/sn_atf_tg/cancel_test_runner

    Unterstützte Anforderungsparameter

    Tabelle : 7. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 8. Abfrageparameter
    Name Beschreibung
    Keine
    Tabelle : 9. Anforderungstextparameter (XML oder JSON)
    Name Beschreibung
    snboqId Sys_id des BOQ-Datensatzes (Browser Orchestration Queue) (sn_atf_tg_sn_boq), der dem abzubrechenden Test-Runner-Auftrag zugeordnet ist. Befindet sich in der BOQ-Tabelle [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-Antwortcodesder REST-API.

    Tabelle : 12. Statuscodes
    Statuscode Beschreibung
    200 Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet.
    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 Testabbruch erfolgreich war.

    Datentyp: Zeichenfolge

    cURL-Anforderung

    Das folgende Beispiel zeigt, wie eine Test-Runner-Anforderung zum Abbrechen gemäß der sys_id des BOQ-Datensatzes erstellt wird.

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

    Die Antwortnachricht, die angibt, dass der Test Runner erfolgreich abgebrochen wurde.

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

    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/cancel_test_runner" \
    --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 "https://instance.service-now.com/api/now/sn_atf_tg/cancel_test_runner" \
    --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"
      }
    }

    Test Runner – POST /now/sn_atf_tg/test_runner

    Fügt einen Test-Runner-Auftrag in die BOQ-Tabelle [sn_atf_tg_sn_boq] für den angegebenen Test oder die angegebene Test-Suite ein, die dann auf dem Cloud Runner ausgeführt wird.

    URL-Format

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

    Unterstützte Anforderungsparameter

    Tabelle : 13. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 14. Abfrageparameter
    Name Beschreibung
    Keine
    Tabelle : 15. Anforderungstextparameter (XML oder JSON)
    Name Beschreibung
    testId Sys_id des Tests [sys_atf_test] oder der Test-Suite [sys_atf_test_suite], der auf dem Cloud Runner ausgeführt werden soll.

    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 Test-Runner-BOQ-Auftrag wurde erfolgreich eingefügt.
    400 Fehler beim Starten des Test-Runner-Auftrags. Gibt eine der folgenden Nachrichten zurück:
    • Test oder Test-Suite mit Sys-ID kann nicht gefunden werden<testId> – Ungültige Test-ID. Stellen Sie sicher, dass die sys_id des Test- (sys_atf_test) oder Testsuite-Datensatzes (sys_atf_test_suite) gültig und der Datensatz vorhanden ist.
    • Keine Test-ID bestanden: Es wurde keine Test-ID bestanden. Fügen Sie die Test-ID dem Anforderungstext hinzu.
    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.snboqId Sys_id des BOQ-Datensatzes, der beim Start des Test Runners eingefügt wird. Befindet sich in der BOQ-Tabelle [sn_atf_tg_sn_boq].
    result.message Fehlermeldung, die angibt, warum der Test Runner nicht gestartet werden kann.

    cURL-Anforderung

    Die folgende Anforderung fügt einen Test-Runner-Auftrag in die BOQ-Tabelle [sn_atf_tg_sn_boq] ein.

    curl "https://instance.service-now.com/api/now/sn_atf_tg/test_runner" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"testId\":\"<sys_id of ATF test or test suite>\"}" \ 
    --user "username:password"

    Der Antworttext gibt die sys_id des Test-Runner-Jobs zurück, der erfolgreich eingefügt wurde.

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

    Das folgende Beispiel gibt eine Fehlermeldung 400 zurück, wenn keine Test- oder Testsuite-sys_id übergeben wird.

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

    Antwort:

    {
      "result": {
        "message": "No Test ID passed in, add testId to request body"
      }
    }

    Das folgende Beispiel gibt eine Fehlermeldung 400 zurück, wenn eine ungültige Test- oder Testsuite-sys_id übergeben wird.

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

    Antwort:

    {
      "result": {
        "message": "Unable to find test or test suite with Sys ID invalid_test_id"
      }
    }