Partage via


Ajouter des requêtes aux tests de charge basés sur l’URL dans Azure Load Testing

Dans cet article, vous allez apprendre à ajouter des requêtes HTTP à un test de charge basé sur l’URL dans Azure Load Testing. Utilisez un test de charge basé sur l’URL pour valider les points de terminaison HTTP, tels que les applications web ou les points de terminaison REST, sans connaître préalablement les outils de test de charge et les scripts.

support Azure deux façons de définir des requêtes HTTP dans un test de charge basé sur l’URL. Vous pouvez combiner les deux méthodes dans un test de charge.

  • Spécifiez les détails du point de terminaison HTTP, tels que l’URL du point de terminaison, la méthode HTTP, les en-têtes, les paramètres de requête ou le corps de la requête.
  • Entrez une commande cURL pour la requête HTTP.

Si vous avez des demandes dépendantes, vous pouvez extraire des valeurs de réponse d’une requête et les transmettre en tant qu’entrée à une requête ultérieure. Par exemple, vous pouvez d’abord récupérer les détails du client et extraire l’ID client pour récupérer les détails de la commande client.

Si vous utilisez un test de charge basé sur l’URL dans votre flux de travail CI/CD, vous pouvez transmettre un fichier JSON qui contient les requêtes HTTP à votre test de charge.

Vous pouvez ajouter jusqu’à cinq requêtes à un test de charge basé sur l’URL. Pour les tests de charge plus complexes, vous pouvez créer un test de charge en charge en chargeant un script de test JMeter. Par exemple, lorsque vous avez plus de cinq requêtes, si vous utilisez des protocoles non HTTP ou si vous devez utiliser des plug-ins JMeter.

Prérequis

  • Compte Azure avec un abonnement actif. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
  • Une ressource de test de charge Azure. Pour créer une ressource de test de charge, consultez Créer et exécuter un test de charge.

Ajouter des requêtes avec des détails HTTP

Vous pouvez spécifier une requête HTTP pour un test de charge basé sur l’URL en fournissant les détails de la requête HTTP. Le tableau suivant répertorie les champs que vous pouvez configurer pour une requête HTTP dans Azure Load Testing :

Champ Détails
URL URL du point de terminaison HTTP. Par exemple : https://www.contoso.com/products.
Méthode Méthode HTTP. Azure Load Testing prend en charge GET, POST, PUT, DELETE, PATCH, HEAD et OPTIONS.
Paramètres de requête (Facultatif) Entrez les paramètres de chaîne de requête à ajouter à l’URL.
En-têtes HTTP (Facultatif) Entrez les en-têtes HTTP à inclure dans la requête HTTP. Vous pouvez ajouter jusqu’à 20 en-têtes pour une demande.
Corps de la demande (Facultatif) Selon la méthode HTTP, vous pouvez spécifier le contenu du corps HTTP. Azure Load Testing prend en charge les formats suivants : données brutes, vue JSON, JavaScript, HTML et XML.

Procédez comme suit pour ajouter une requête HTTP à un test de charge basé sur l’URL :

  1. Dans le Portail Azure, accédez à votre ressource de test de charge.

  2. Dans le volet de navigation gauche, sélectionnez Tests pour afficher tous les tests.

  3. Dans la liste, sélectionnez votre test de charge, puis sélectionnez Modifier.

    Veillez à sélectionner un test de charge basé sur l’URL dans la liste et que vous avez activé Activer les paramètres avancés sous l’onglet Informations de base.

  4. Accédez à l’onglet Plan de test, puis sélectionnez Ajouter une demande.

    Screenshot that shows how to add a request to a URL-based load test in the Azure portal.

  5. Sélectionnez Ajouter une entrée dans l’interface utilisateur pour entrer les détails de la requête HTTP.

  6. Entrez les détails de la requête HTTP, puis sélectionnez Ajouter pour ajouter la requête à votre test de charge.

    Champ Description
    Format de la demande Sélectionnez Ajouter une entrée dans l’interface utilisateur pour configurer les détails de la demande via les champs de l’Portail Azure.
    Nom de la requête Entrez un nom unique pour la requête. Vous pouvez faire référence à ce nom de demande lorsque vous définissez des critères d’échec de test.
    URL URL du point de terminaison de l’application.
    Méthode Sélectionnez une méthode HTTP dans la liste. Azure Load Testing prend en charge GET, POST, PUT, DELETE, PATCH, HEAD et OPTIONS.
    Paramètres de requête (Facultatif) Entrez les paramètres de chaîne de requête à ajouter à l’URL.
    En-têtes (Facultatif) Entrez les en-têtes HTTP à inclure dans la requête HTTP.
    Corps (Facultatif) Selon la méthode HTTP, vous pouvez également spécifier le contenu du corps HTTP. Azure Load Testing prend en charge les formats suivants : données brutes, vue JSON, JavaScript, HTML et XML.

    Screenshot that shows the details page to add an HTTP request by using UI fields in the Azure portal.

  7. Sélectionnez Appliquer pour enregistrer le test de charge.

Ajouter des requêtes à l’aide de cURL

Au lieu de fournir les détails de la requête HTTP, vous pouvez également fournir des commandes cURL pour les requêtes HTTP dans votre test de charge basé sur l’URL. cURL est un outil en ligne de commande et une bibliothèque pour les requêtes basées sur l’URL.

Suivez ces étapes pour ajouter une requête HTTP à un test de charge à l’aide d’une commande cURL.

  1. Dans la liste des tests, sélectionnez votre test de charge, puis sélectionnez Modifier.

    Veillez à sélectionner un test de charge basé sur l’URL dans la liste et que vous avez activé Activer les paramètres avancés sous l’onglet Informations de base.

  2. Accédez à l’onglet Plan de test, puis sélectionnez Ajouter une demande.

  3. Sélectionnez Ajouter une commande cURL pour créer une requête HTTP à l’aide de cURL.

  4. Entrez la commande cURL dans le champ de commande cURL, puis sélectionnez Ajouter pour ajouter la demande à votre test de charge.

    L’exemple suivant utilise cURL pour effectuer une requête HTTP GET, en spécifiant un en-tête HTTP :

    curl --request GET 'http://www.contoso.com/customers?version=1' --header 'api-token: my-token'
    

    Screenshot that shows the details page to add an HTTP request by using a cURL command in the Azure portal.

  5. Sélectionnez Appliquer pour enregistrer le test de charge.

Utiliser des variables dans les requêtes HTTP

Vous pouvez utiliser des variables dans votre requête HTTP pour rendre vos tests plus flexibles ou pour éviter d’inclure des secrets dans votre plan de test. Par exemple, vous pouvez utiliser une variable d’environnement avec le nom de domaine de votre point de terminaison, puis utiliser le nom de variable dans les requêtes HTTP individuelles. L’utilisation de variables rend votre plan de test plus flexible et plus facile à gérer.

Avec les tests de charge basés sur l’URL dans Azure Load Testing, vous pouvez utiliser des variables pour faire référence aux informations suivantes :

La syntaxe permettant de faire référence à une variable dans une requête est la suivante : ${variable-name}.

La capture d’écran suivante montre comment faire référence à une token variable dans un en-tête HTTP à l’aide ${token}de .

Screenshot that shows the request details page in the Azure portal, highlighting a variable reference in an HTTP header.

Remarque

Si vous spécifiez des certificats, Azure Load Testing transmet automatiquement les certificats dans chaque requête HTTP.

Utiliser des variables de réponse pour les demandes dépendantes

Pour créer des requêtes HTTP qui depent sur une requête précédente, vous pouvez utiliser des variables de réponse. Par exemple, dans la première requête, vous pouvez récupérer une liste d’éléments à partir d’une API, extraire l’ID du premier résultat, puis effectuer une opération suivante et passer cet ID en tant que paramètre de chaîne de requête.

Azure Load Testing prend en charge les options suivantes pour extraire des valeurs d’une requête HTTP et les stocker dans une variable :

  • JSONPath
  • XPath
  • Expression régulière

Par exemple, l’exemple suivant montre comment utiliser un XPathExtractor pour stocker le corps d’une requête dans la token variable de réponse. Vous pouvez ensuite utiliser ${token} dans d’autres requêtes HTTP pour faire référence à cette valeur.

"responseVariables": [
    {
        "extractorType": "XPathExtractor",
        "expression": "/note/body",
        "variableName": "token"
    }
]