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

  • Rversion finale: Washingtondc
  • Mis à jour 6 févr. 2024
  • 13 minutes de lecture
  • Gère les tâches des utilisateurs de test à exécuter dans un exécuteur dans le cloud pour Infrastructure de tests automatisés (ATF).

    L’API utilisateur de test de l’exécuteur 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 admin est requis pour accéder à cette API.

    Vous pouvez utiliser cette API pour les tâches suivantes :
    • Démarrez la tâche de test utilisateur.
    • Définissez l’utilisateur du cloud.
    • Vérifiez si l’utilisateur spécifié est valide.
    • Vérifiez la progression de la tâche de test utilisateur.
    • Annulez la tâche de test.

    L’API de test exécutable dans le cloud peut être utilisée en tandem avec le API REST de génération des tests de l’exécuteur dans le cloud et API REST de l’utilisateur de test de l’exécuteur dans le cloud. Par exemple, vous pouvez générer un test (API Cloud Runner Test Generation), puis obtenir la progression du test dans la file d’attente d’orchestration du navigateur (API Cloud Runner TEST Generation) 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 à TestUserAPI de l’exécuteur dans le cloud : champ d’application, global.

    Utilisateur de test : GET /now/sn_atf_tg/test_user_progress

    Fournit l’état de la tâche de l’utilisateur test 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_user_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. L’enregistrement BOQ sys_id de la tâche d’utilisateur de test 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
    Néant

    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 une 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 une 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 d’utilisateur de test 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 de nomenclature 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 de nomenclature 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 de 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é.
    "result": { 
        "progress": 100, 
        "state": "completed" 
      }

    Ou:

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

    Type de données : objet

    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 Un pourcentage indiquant à quel point un test est proche de l’achèvement pendant qu’il est en cours d’exécution.

    Type de données : nombre

    état.résultat État actuel de l’enregistrement de nomenclature.

    Valeurs possibles :

    • En attente : l’activité de test demandée a été créée et est en attente d’exécution.
    • Traitement : l’instance recherche des 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 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 recherchent et exécutent les tests en attente.
    • Terminé : la tâche de test est terminée.
    • État Échoué : la tâche de test a échoué.

    Type de données : chaîne

    Demande cURL

    L’exemple de demande suivant montre comment vérifier la progression d’une tâche d’utilisateur de test.

    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"

    Corps de réponse :

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

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

    curl "https://instance.service-now.com/api/now/sn_atf_tg/test_user_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 "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"

    Réponse :

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

    Utilisateur test : GET /now/sn_atf_tg/is_valid_cloud_user

    Vérifie si un utilisateur fourni est un utilisateur du cloud valide.

    Cette méthode vérifie si l’utilisateur répond aux critères suivants :
    • Existe
    • Est actif,
    • N’est pas verrouillé,
    • Nécessite une réinitialisation du mot de passe,
    • Est administrateur,
    • Est en lecture seule,
    • Est uniquement des services Web

    Format d'URL

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

    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
    nom d'utilisateur Requis. Nom d’utilisateur du sys_user pour vérifier si l’utilisateur répond aux critères de base de référence suivants.
    • Existe
    • Est actif,
    • N’est pas verrouillé,
    • Nécessite une réinitialisation du mot de passe,
    • Est administrateur,
    • Est en lecture seule,
    • Est uniquement des services Web

    Si l’une de ces conditions échoue, l’API renvoie un faux booléen avec un message indiquant quels critères ont échoué.

    Type de données : chaîne

    Tableau 9. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    Néant

    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 une 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

    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 une 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 Renvoie true ou false si l’utilisateur est valide et satisfait aux critères d’utilisateur dans le cloud.
    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 de corps de réponse (JSON ou XML)

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

    Type de données : objet

    result.validUser Marqueur indiquant si l’utilisateur répond aux critères d’utilisateur dans le cloud. Si la valeur est vrai, indique que l’utilisateur satisfait aux critères.

    Type de données : booléennes

    Demande cURL

    La demande suivante vérifie si la sys_user fournie répond aux critères d’utilisation de la fonctionnalité cloud.

    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"

    Corps de réponse :

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

    Utilisateur test : POST /now/sn_atf_tg/test_user

    Insère une tâche d’utilisateur de test dans la table BOQ [sn_atf_tg_sn_boq] pour un nom d’utilisateur donné, 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_user

    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
    Néant
    Tableau 15. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    nom d'utilisateur Requis. Nom d’utilisateur du sys_user pour tester l’infrastructure de bout en bout de l’exécuteur dans le cloud.

    Type de données : chaîne

    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 une 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 une 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 de nomenclature d’utilisateur test a été insérée avec succès.
    400 Erreur lors du démarrage de la tâche de l’utilisateur test.

    Si un nom d’utilisateur vide est fourni ou si un utilisateur est introuvable dans sys_user table, le serveur génère une erreur.

    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 de 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

    résultat.message Message d’erreur expliquant pourquoi les options de test ne peuvent pas être affectées au nom d’utilisateur. Le paramètre de message n’est pas renvoyé dans une réponse réussie.

    Type de données : chaîne

    result.snboqId Sys_id de l’enregistrement BOQ qui est inséré lorsque la tâche d’utilisateur test démarre avec succès. Situé dans la table BOQ [sn_atf_tg_sn_boq].

    Type de données : chaîne

    Demande cURL

    L’exemple de demande suivant montre comment insérer une tâche d’utilisateur test dans la table BOQ [sn_atf_tg_sn_boq] pour un nom d’utilisateur donné.

    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"

    La réponse renvoie une sys_id de l’enregistrement BOQ qui est insérée au démarrage du travail d’utilisateur test.

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

    L’exemple suivant renvoie un message d’erreur 400 lorsqu’aucun nom d’utilisateur ou un nom d’utilisateur non valide n’est transmis.

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

    Réponse :

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

    Utilisateur test : POST /now/sn_atf_tg/cancel_test_user

    Définit l’état de la tâche d’utilisateur de test dans la table File d’attente d’orchestration du navigateur (BOQ) [sn_atf_tg_sn_boq] sur Terminé.

    Format d'URL

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

    Paramètres de demande pris en charge

    Tableau 19. Paramètres de chemin d'accès
    Nom Description
    Aucun
    Tableau 20. Paramètres de requête
    Nom Description
    Néant
    Tableau 21. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    snboqId Requis. Sys_id de l’enregistrement BOQ à annuler associé à la tâche d’utilisateur test. Situé dans la table SNBOQ [sn_atf_tg_sn_boq].

    Type de données : chaîne

    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 une 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 22. 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 23. 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 une liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 24. Codes d'état
    Code d'état Description
    200 La tâche BOQ a été annulée avec succès.
    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 de nomenclature 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 de nomenclature 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 de 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 de l’utilisateur test a réussi.

    Type de données : chaîne

    Demande cURL

    La requête suivante montre comment annuler une tâche d’utilisateur de test dans la table File d’attente Orchestration du navigateur [sn_atf_tg_sn_boq].

    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"

    Corps de réponse réussi :

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

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

    curl "http://localhost:8080/api/now/sn_atf_tg/cancel_test_user" \
    --request POST \
    --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://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"

    Réponse :

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

    Utilisateur test : POST /now/sn_atf_tg/select_cloud_user

    Démarre une tâche d’utilisateur de test de bout en bout sur l’exécuteur dans le cloud. Si l’utilisateur est en mesure de se connecter avec le rôle administrateur, la propriété d’utilisateur dans le cloud est définie par défaut sur cet utilisateur pour les futures exécutions et générations de tests.

    Format d'URL

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

    Paramètres de demande pris en charge

    Tableau 25. Paramètres de chemin d'accès
    Nom Description
    Aucun
    Tableau 26. Paramètres de requête
    Nom Description
    Néant
    Tableau 27. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    nom d'utilisateur Requis. Nom d’utilisateur du sys_user à tester et définir l’utilisateur dans le cloud pour les futures tâches de test exécutable et de génération de tests.

    Type de données : chaîne

    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 une 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 28. 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 29. 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 une liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 30. Codes d'état
    Code d'état Description
    200 Test réussi de l’infrastructure d’exécution dans le cloud de bout en bout et définition de l’utilisateur du cloud pour les futures tâches d’exécution et de génération de tests.
    400 Erreur lors du test de l’infrastructure d’exécution dans le cloud de bout en bout et de la définition de l’utilisateur dans le cloud. Assurez-vous que le nom d’utilisateur n’est pas vide ou que l’utilisateur existe dans la table sys_user pour un nom d’utilisateur donné.
    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 de 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’utilisateur a été sélectionné avec succès pour les futures exécutions et générations de tests sur l’infrastructure d’exécution dans le cloud.

    Type de données : chaîne

    Demande cURL

    L’exemple suivant montre comment demander la sélection d’un utilisateur spécifique pour les futures exécutions et générations de tests sur l’infrastructure d’exécution dans le cloud.

    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"

    Le corps de la réponse renvoie un message de réussite indiquant que l’utilisateur dans le cloud a été sélectionné avec succès pour les exécutions et les générations de tests.

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

    L’exemple suivant renvoie un message d’erreur 400 lorsqu’aucun nom d’utilisateur ou un nom d’utilisateur non valide n’est transmis.

    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"

    Réponse :

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