API REST de test exécutable de l’exécuteur dans le cloud

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 8 minutes de lecture
  • Gère les tests à exécuter dans un exécuteur dans le cloud pour Framework de tests automatisés (ATF).

    L’API de test exécutable dans le cloud nécessite le module d’extension ATF Test Generator and Cloud Runner (sn_atf_tg). Les méthodes disponibles avec cette API s’exécutent dans l’espace de noms Now et peuvent être appelées à l’aide de Nom d’API, Test de régression en un clic pour ATF, dans l’explorateur d’API REST. Le rôle administrateur est requis pour accéder à cette API.

    Vous pouvez utiliser cette API pour les tâches suivantes :
    • Démarrez un test ATF ou une suite de tests dans le navigateur Cloud Runner.
    • Vérifiez la progression de la tâche de test.
    • Annulez la tâche de test.

    L’API de test exécutable Cloud Runner peut être utilisée en tandem avec le API REST de génération du test de l’exécuteur dans le cloud et API REST de l’utilisateur test de l’exécuteur dans le cloud. Par exemple, vous pouvez générer un test (API de génération de tests de l’exécuteur cloud), puis obtenir la progression du test dans la file d’attente d’orchestration du navigateur (API de génération de tests de l’exécuteur cloud) et vérifier le nombre de tests qui ont réussi ou échoué.

    Pour afficher la documentation de référence de l’API serveur de cette API, reportez-vous à la section Cloud Runner TestRunnerAPI : champ d’application, global.

    Test exécutable de l’exécuteur dans le cloud : GET /now/sn_atf_tg/test_runner_progress

    Fournit l’état de chaque test exécuté pour un enregistrement de file d’attente Orchestration du navigateur (BOQ) fourni.

    Format d'URL

    URL par défaut : GET /api/now/sn_atf_tg/test_runner_progress

    Paramètres de demande pris en charge

    Tableau 1. Paramètres de chemin d'accès
    Nom Description
    Aucun
    Tableau 2. Paramètres de requête
    Nom Description
    snboqId Requis. Le sys_id d’enregistrement BOQ de la tâche du test exécutable dont vous souhaitez obtenir la progression. Situé dans la table BOQ [sn_atf_tg_sn_boq].

    Type de données : chaîne

    Tableau 3. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    Aucun

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 4. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Tableau 5. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 6. Codes d'état
    Code d'état Description
    200 La progression de la tâche BOQ a été récupérée avec succès.
    400 Erreur lors de l’obtention de l’état de l’enregistrement BOQ. Renvoie l’un des messages suivants :
    • Aucun ID de BOQ transmis – Aucun ID de BOQ n’a été fourni. Ajoutez l’ID BOQ au corps de la demande.
    • Impossible de trouver l’enregistrement BOQ – ID système non valide. Vérifiez que la sys_id de l’enregistrement BOQ est valide et que l’enregistrement existe.
    403 Erreur lors de l’octroi de l’accès de l’utilisateur au point de terminaison. Assurez-vous que l’utilisateur dispose du rôle administrateur.

    Paramètres du corps de réponse (JSON ou XML)

    Nom Description
    résultat Objet contenant les résultats de progression de la tâche de test exécutable ou un message expliquant pourquoi la demande a échoué.

    Type de données : objet

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

    Ou:

    {
      "result": { 
        "message": "String" 
      } 
    }
    résultat.message Message d’erreur expliquant pourquoi la progression du test exécutable ne peut pas être récupérée. Le paramètre de message n’est pas renvoyé dans une réponse réussie.

    Type de données : chaîne

    résultat.progrès Pourcentage indiquant à quel point un test est proche de l’achèvement lorsqu’il est à l’état En cours d’exécution.

    Type de données : nombre

    résultat.état État actuel de l’enregistrement de la nomenclature. Valeurs possibles :
    • En attente : l’activité de test demandée a été créée et attend d’être exécutée.
    • Traitement : l’instance recherche les enregistrements pour s’assurer que les suivis des exécutions sont marqués pour l’exécuteur dans le cloud avant que la demande ne soit envoyée à l’infrastructure dans le cloud.
    • Navigateurs demandés : une demande a été envoyée à l’infrastructure dans le cloud pour démarrer les navigateurs pour la génération ou l’exécution de tests.
    • En cours d’exécution : les navigateurs d’infrastructure cloud trouvent et exécutent les tests en attente.
    • Terminée : la tâche de test est terminée.
    • État d’échec : échec de la tâche de test.

    Type de données : chaîne

    Demande cURL

    La demande suivante récupère la progression de la tâche du test exécutable de l’enregistrement BOQ.

    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"

    La réponse indique que le test est terminé à 100 %.

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

    L’exemple suivant renvoie un message d’erreur 400 lorsqu’aucun ID BOQ n’est transmis.

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

    Réponse :

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

    L’exemple suivant renvoie un message d’erreur 400 lorsqu’un ID de nomenclature non valide est transmis.

    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"

    Réponse :

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

    Test exécutable de l’exécuteur dans le cloud : POST /now/sn_atf_tg/cancel_test_runner

    Définit la tâche du test exécutable sur l’état Terminé et annule les suivis racine de tous les tests générés en cours d’exécution.

    Format d'URL

    URL par défaut : GET /now/sn_atf_tg/cancel_test_runner

    Paramètres de demande pris en charge

    Tableau 7. Paramètres de chemin d'accès
    Nom Description
    Aucun
    Tableau 8. Paramètres de requête
    Nom Description
    Aucun
    Tableau 9. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    snboqId Sys_id de l’enregistrement de la file d’attente (BOQ) Orchestration du navigateur (sn_atf_tg_sn_boq BOQ) associé à la tâche du test exécutable à annuler. Situé dans la table BOQ [sn_atf_tg_sn_boq].

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 10. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Content-Type Format de données du corps de la demande. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Tableau 11. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 12. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    400 Erreur lors de l’annulation de la tâche. Renvoie l’un des messages suivants :
    • Aucun ID de BOQ transmis – Aucun ID de BOQ n’a été fourni. Ajoutez l’ID BOQ au corps de la demande.
    • Impossible de trouver l’enregistrement BOQ – ID système non valide. Vérifiez que la sys_id de l’enregistrement BOQ est valide et que l’enregistrement existe.
    403 Erreur lors de l’octroi de l’accès de l’utilisateur au point de terminaison. Assurez-vous que l’utilisateur dispose du rôle administrateur.

    Paramètres du corps de réponse (JSON ou XML)

    Nom Description
    résultat Objet contenant les résultats de la demande.
    
      "result": { 
        "message": String
      }

    Type de données : objet

    résultat.message Message détaillant si l’annulation du test a réussi.

    Type de données : chaîne

    Demande cURL

    L’exemple suivant montre comment former une demande d’annulation du test exécutable en fonction de l’sys_id de l’enregistrement BOQ.

    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"

    Message de réponse indiquant que le test exécutable a bien été annulé.

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

    Test exécutable de l’exécuteur dans le cloud : POST /now/sn_atf_tg/test_runner

    Insère une tâche d’exécuteur de test dans la table BOQ [sn_atf_tg_sn_boq] pour un test ou une suite de tests donnée, qui est ensuite exécutée sur l’exécuteur dans le cloud.

    Format d'URL

    URL par défaut : POST api/now/sn_atf_tg/test_runner

    Paramètres de demande pris en charge

    Tableau 13. Paramètres de chemin d'accès
    Nom Description
    Aucun
    Tableau 14. Paramètres de requête
    Nom Description
    Aucun
    Tableau 15. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    ID test Sys_id du test [sys_atf_test] ou de la suite de tests [sys_atf_test_suite] à exécuter sur l’exécuteur dans le cloud.

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 16. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Content-Type Format de données du corps de la demande. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Tableau 17. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 18. Codes d'état
    Code d'état Description
    200 Une tâche BOQ de test exécutable a été insérée avec succès.
    400 Erreur lors du démarrage de la tâche du test exécutable. Renvoie l’un des messages suivants :
    • Impossible de trouver le test ou la suite de tests avec l’ID système <testId> : ID de test non valide. Assurez-vous que le sys_id de l’enregistrement de test (sys_atf_test) ou de suite de tests (sys_atf_test_suite) est valide et que l’enregistrement existe.
    • Aucun ID de test transmis : aucun ID de test n’a été transmis. Ajoutez l’ID du test au corps de la demande.
    403 Erreur lors de l’octroi de l’accès de l’utilisateur au point de terminaison. Assurez-vous que l’utilisateur dispose du rôle administrateur.

    Paramètres du corps de réponse (JSON ou XML)

    Nom Description
    résultat Objet contenant les résultats de la demande.
    { 
      "result": { 
        "snboqId": "String" 
      } 
    }

    Ou:

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

    Type de données : objet

    result.snboqId Sys_id de l’enregistrement BOQ qui est inséré au démarrage du test exécutable. Situé dans la table BOQ [sn_atf_tg_sn_boq].
    résultat.message Message d’erreur détaillant la raison pour laquelle le test exécutable ne peut pas être démarré.

    Demande cURL

    La demande suivante insère une tâche d’exécuteur de test dans la table BOQ [sn_atf_tg_sn_boq].

    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"

    Le corps de la réponse renvoie la sys_id de la tâche du test exécutable qui a été correctement insérée.

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