Tous les produits
Search
Centre de documentation

Performance Testing:Paramètres de sortie

Dernière mise à jour :Aug 10, 2026

Dans les scénarios réels de test de charge, extrayez des paramètres de sortie depuis la réponse d'une requête et utilisez ces informations comme entrée pour la requête suivante. Vous pouvez définir plusieurs paramètres de sortie au sein d'une même API. Cette rubrique explique comment extraire les paramètres de sortie.

Configurer les paramètres de sortie

image Le tableau suivant décrit les éléments constitutifs d'un paramètre de sortie.

Élément

Description

Output Parameter Name

Nom du paramètre de sortie. Le nom peut contenir des lettres, des chiffres, des traits de soulignement (_) et des tirets (-). Il doit commencer par une lettre.

Source

Méthode d'analyse de la réponse. Choisissez l'une des méthodes d'analyse suivantes :

  • Body : JSON : analyse le corps de la réponse au format JSON.

  • Body : TEXT : analyse le corps de la réponse en texte brut.

  • Header : K/V : analyse l'en-tête de la réponse sous forme de paire clé-valeur.

    Remarque

    Si vous sélectionnez Header : K/V, l'expression d'analyse correspond à la clé de l'en-tête souhaité.

  • Cookie : K/V : analyse le cookie sous forme de paire clé-valeur.

  • HTTP Status Code : extrait le code d'état de la réponse.

Parsing Expression

Expression d'analyse utilisée pour extraire le contenu souhaité de la réponse afin de l'utiliser comme paramètre de sortie.

Nth match

Ce paramètre s'applique uniquement lorsque la Source est définie sur Body : TEXT. Si l'expression d'analyse trouve plusieurs correspondances, utilisez ce paramètre pour en sélectionner une. L'indexation commence à 0. Un nombre négatif, tel que -n, permet de sélectionner la nième correspondance à partir de la fin. La valeur doit se situer dans la plage [-99, 99]. Pour sélectionner une correspondance aléatoire, saisissez random.

Méthode d'analyse Body : JSON

Le type de source Body : JSON prend en charge les réponses dont les en-têtes Content-Type sont définis sur application/json ou text/json.

PTS prend en charge les versions nouvelle et ancienne de la syntaxe JSONPath. Afin de mettre en évidence les différences entre les expressions JSONPath des deux versions, les sections suivantes présentent un exemple de structure JSONPath ainsi que la syntaxe et les descriptions correspondantes pour chaque version.

Nous vous recommandons d'utiliser la nouvelle version de la syntaxe JSONPath.

Expressions JSONPath (nouvelle version)

L'extrait de code ci-dessous illustre la structure JSONPath de la nouvelle version. Le tableau suivant détaille la syntaxe et les descriptions des expressions JSONPath associées.

Exemple de structure JSONPath

{
    "menu":{
        "header":"SVG Viewer",
        "items":[
            {
                "id":0
            },
            {
                "id":1,
                "label":"Open New"
            },
            null,
            {
                "id":2,
                "label":"Zoom In"
            },
            {
                "id":3,
                "label":"Zoom Out"
            },
            {
                "id":4,
                "label":"Original View"
            },
            null,
            {
                "id":5
            },
            {
                "id":6
            },
            {
                "id":7
            },
            null,
            {
                "id":8,
                "label":"Find..."
            },
            {
                "id":9,
                "label":"Find Again"
            },
            {
                "id":10
            },
            {
                "id":11,
                "label":"Copy Again"
            },
            {
                "id":12,
                "label":"Copy SVG"
            },
            {
                "id":13,
                "label":"View SVG"
            },
            {
                "id":14,
                "label":"View Source"
            },
            {
                "id":15,
                "label":"Save As"
            },
            null,
            {
                "id":16
            },
            {
                "id":17,
                "label":"About Adobe CVG Viewer..."
            }
        ]
    }
}
|
**Syntaxe JSONPath**
|
**Description**
| | --- | --- | |
$
|
L'objet racine. Par exemple, si vous spécifiez l'expression `$.menu.header`, la valeur retournée est `SVG Viewer`.
| |
[num]
|
Récupération d'un élément dans un tableau. La variable num spécifie un nombre. Par exemple, si vous spécifiez l'expression `$.menu.items[0]`, la valeur `{"id":0}` est renvoyée.
| |
[num0,num1,num2...]
|
Récupération de plusieurs éléments dans un tableau. La variable num spécifie un nombre. Dans ce cas, plusieurs éléments du tableau sont renvoyés. Par exemple, si vous spécifiez l'expression `$.menu.items[0,3]`, un tableau composé de deux éléments est renvoyé ; l'élément spécifié par 3 est `{"id":2,"label":"Zoom In"}`.
| |
[start:end]
|
Récupération d'une plage d'éléments définie par un élément de début et un élément de fin dans un tableau. Par exemple, si vous spécifiez l'expression `$.menu.items[0:3]`, un tableau composé de quatre éléments est renvoyé. L'élément spécifié par 1 est `{"id":1,"label":"Open New"}` et celui spécifié par 2 est `null`.
| |
[?(@.key)]
|
Récupération des attributs d'objet non vides. Par exemple, si vous spécifiez l'expression `$.menu.items[?(@.label)]`, un tableau composé de 12 éléments est renvoyé. Ces 12 éléments possèdent des libellés non vides et le premier élément est `{"id":1,"label":"Open New"}`.
| |
[?(@.key > 123)]
|
Récupération des attributs d'objet de type numérique via une opération de comparaison. Les opérateurs de comparaison pris en charge incluent égal à (=), différent de (!=), supérieur à (>), supérieur ou égal à (>=), inférieur à (<) et inférieur ou égal à (<=). Par exemple, si vous spécifiez l'expression `$.menu.items[?(@.id > 5)]`, un tableau composé de 12 éléments dont les ID sont supérieurs à 5 est renvoyé ; le premier élément est `{"id":6}`.
| |
[?(@.key = '123')]
|
Récupération des attributs d'objet de type chaîne via une opération de comparaison. Les opérateurs de comparaison pris en charge incluent égal à (=), différent de (!=), supérieur à (>), supérieur ou égal à (>=), inférieur à (<) et inférieur ou égal à (<=). Par exemple, si vous spécifiez l'expression `$.menu.items[?(@.label = 'Copy Again')]`, un tableau composé d'un seul élément est renvoyé ; l'élément retourné est `{"id":11,"label":"Copy Again"}`.
| |
[?(@.key like 'aa%')]
|
Récupération des attributs d'objet de type chaîne via une clause LIKE. Seul le signe pourcentage (%) est accepté comme caractère générique. Les clauses NOT LIKE sont prises en charge. Par exemple, si vous spécifiez l'expression `$.menu.items[?(@.label like 'Copy%')]`, un tableau composé de deux éléments est renvoyé. Ces deux éléments ont des libellés contenant la chaîne « Copy » et le premier élément est `{"id":11,"label":"Copy Again"}`. Si vous spécifiez l'expression `$.menu.items[?(@.label not like 'Copy%')]`, un tableau composé de 10 éléments est renvoyé. Ces 10 éléments ont des libellés ne contenant pas la chaîne « Copy » et le premier élément est `{"id":1,"label":"Open New"}`.
| |
[?(@.key rlike 'regexpr')]
|
Récupération des attributs d'objet de type chaîne via une expression régulière. La syntaxe du kit de développement Java (JDK) est utilisée et les clauses NOT RLIKE sont prises en charge. Par exemple, si vous spécifiez l'expression `$.menu.items[?(@.label rlike 'Copy ([A-Z]+)')]`, un tableau composé d'un seul élément dont le libellé contient la chaîne « Copy » suivie de lettres majuscules est renvoyé. L'élément retourné est `{"id":12,"label":"Copy SVG"}`. Si vous spécifiez l'expression `$.menu.items[?(@.label not rlike 'Copy ([A-Z]+)')]`, un tableau composé de 11 éléments est renvoyé ; le premier élément est `{"id":1,"label":"Open New"}`.
| |
[?(@.key in ('v0', 'v1'))]
|
Récupération des attributs d'objet via une clause IN. Les objets de type chaîne et numérique sont pris en charge. Les clauses NOT IN sont prises en charge. Par exemple, si vous spécifiez l'expression `$.menu.items[?(@.id in (1, 2))]`, un tableau composé de deux éléments dont les ID sont 1 et 2 est renvoyé ; le premier élément est `{"id":1,"label":"Open New"}`. Si vous spécifiez l'expression `$.menu.items[?(@.id not in (1, 2))]`, un tableau composé de 16 éléments dont les ID ne sont ni 1 ni 2 est renvoyé ; le premier élément est `{"id":0}`.
| |
[?(@.key between 234 and 456)]
|
Récupération des attributs d'objet via une clause BETWEEN. Les objets de type numérique sont pris en charge. Les clauses NOT BETWEEN sont prises en charge. Par exemple, si vous spécifiez l'expression `:$.menu.items[?(@.id between 0 and 3)]`, un tableau composé de quatre éléments dont les ID sont compris entre 0 et 3 est renvoyé ; le premier élément est `{"id":0}`.
| |
length() ou size()
|
Récupération du nombre d'éléments dans un tableau. Par exemple, si vous spécifiez l'expression `$.menu.items.size()` ou `$.menu.items.length()`, la valeur 22 est renvoyée.
| |
..
|
Récupération d'un attribut spécifique. Par exemple, si vous spécifiez l'expression `$.menu.items..id`, un tableau composé de 18 éléments est renvoyé. Chaque élément correspond à une valeur d'ID.
| |
*
|
Récupération de tous les attributs d'un objet. Par exemple, si vous spécifiez l'expression `$.menu.items.*`, toutes les données du tableau items sont renvoyées.
| |
randomIndex()
|
Récupération d'un élément aléatoire dans un tableau. Par exemple, si vous spécifiez l'expression `$.menu.items[randomIndex()]`, un élément aléatoire du tableau items est renvoyé.
| |
['key']
|
Récupération d'un attribut. Par exemple, si vous spécifiez l'expression `$['menu']['items']`, la valeur du tableau items est renvoyée.
| |
['key0','key1']
|
Récupération de plusieurs attributs. Par exemple, si vous spécifiez l'expression `$['menu']['items'][3]['id', 'label']`, un tableau composé de deux éléments est renvoyé. L'ID renvoyé est 2 et le libellé renvoyé est `Zoom In`.
|
Remarque

Les expressions $.store.book[0].title et $['store']['book'][0]['title'] ont la même sémantique.

Expressions JSONPath (ancienne version)

L'extrait de code ci-dessous illustre la structure JSONPath de l'ancienne version. Le tableau suivant détaille la syntaxe et les descriptions des expressions JSONPath associées.

{
    "info": "success",
    "message": "Succeeded.",
    "data": {
        "id":13509, "code":0,
        "items": [
            {"name": "name1", "value": "1234"},
            {"name": "name2", "value": "8448"},
            {"name": "name3", "value": "1298"},
            {"name": "name4", "value": "3049"},
            {"name": "name5", "value": "7648"}
        ]
    }
}
            
|
**Valeur du paramètre de sortie**
|
**Ancienne version de l'expression d'analyse**
|
**Nouvelle version de l'expression d'analyse (à titre de comparaison)**
| | --- | --- | --- | |
La valeur de l'objet info.
|
`info`
|
`$.info`
| |
La valeur de l'ID dans le tableau data.
|
`data.id`
|
`$.data.id`
| |
La valeur du premier élément du tableau items. La position relative est prise en charge.
|
`data.items[0].value`
|
`$.data.items[0].value`
| |
La valeur de l'avant-dernier élément du tableau items. La position relative est prise en charge.
|
`data.items[-2].value`
|
Non pris en charge
| |
L'intégralité du tableau items.
|
`data.items[ALL]`
|
`$.data.items[*]`
| |
Un élément aléatoire du tableau items.
|
`data.items[RANDOM]`
|
`$.data.items[randomIndex()]`
|

Méthode d'analyse Body : TEXT

Le type de source Body : TEXT prend en charge n'importe quel format de texte et utilise une expression régulière pour extraire les données. Si l'expression régulière trouve plusieurs correspondances, spécifiez celle à utiliser grâce à son index. L'index par défaut est 0, ce qui sélectionne la première correspondance.

L'extrait de code suivant présente un exemple de réponse d'API :

<input name="id" value="34729XXXX">
<input name="token" value="acdfo4dfopasdf44dXXXX">
...
<script>
    var planId=4587;
    var planId=5689;
    var planId=8906;
</script>
            
|
**Valeur souhaitée**
|
**Parsing Expression**
|
**Nième correspondance**
| | --- | --- | --- | |
La valeur dont le nom est id.
|
``
|
0
| |
La valeur dont le nom est token.
|
`name="token" value="([A-Za-z0-9]*)"`
|
0
| |
La valeur du troisième élément PlanID.
|
`var planId=([0-9]*);`
|
2
| |
La valeur d'un élément PlanID aléatoire.
|
`var planId=([0-9]*);`
|
random
|

Conventions de formatage :

  • L'analyse commence au début du corps de la réponse. La première valeur correspondant à l'expression est utilisée, puis l'analyse s'arrête. Veillez donc à ce que votre expression d'analyse soit suffisamment spécifique pour ne correspondre qu'à la valeur souhaitée, sauf si n'importe laquelle des correspondances multiples est acceptable.

  • Le texte correspondant ne doit pas contenir de caractères spéciaux, tels que des accolades ({}) ou des parenthèses (()).

  • Lorsque vous utilisez une expression régulière pour extraire des informations d'une réponse JSON, il n'est pas nécessaire d'ajouter un espace après les deux-points séparant la clé et la valeur d'une paire clé-valeur. Vous pouvez ajouter un espace après les deux-points pour optimiser l'affichage visuel des données JSON.

Méthodes d'analyse Cookie : K/V et Header : K/V

Les méthodes d'analyse Cookie : K/V et Header : K/V permettent d'extraire respectivement le champ Cookie et le champ Header. Spécifiez les clés à extraire dans l'expression d'analyse. Par exemple, si le champ Cookie contient token=1234;path=/ et que vous souhaitez extraire la valeur du jeton, saisissez token dans l'expression d'analyse.

Méthode d'analyse Status Code

La méthode d'analyse Status Code permet d'extraire les codes d'état de réponse des requêtes. Utilisez généralement cette méthode d'analyse pour les points de contrôle ou les sauts conditionnels. Des informations de page différentes sont renvoyées selon les codes d'état.

Paramètres de sortie des nœuds JDBC

Pour extraire un paramètre de sortie des résultats d'une requête SQL, sélectionnez la source Body : JSON. Les résultats sont structurés sous la forme de l'objet JSON suivant :

{
    "data": [
        
         {
             "Column 1": "value",
             "Column 2": "value"
           },
         
           {
              "Column 1": "value",
              "Column 2": "value"
           }
           ...
  ]
}

Par exemple, le tableau suivant décrit les résultats d'une requête SQL. Supposons que vous souhaitiez analyser la valeur (name1) de la colonne name de la première ligne comme paramètre de sortie.

|
**id**
|
**name**
| | --- | --- | |
1
|
name1
| |
2
|
name2
|











Utilisez l'expression d'analyse suivante :

$.data[0].name
















































































































































Déboguer les paramètres de sortie

Si vous ne parvenez pas à déterminer si une expression d'analyse est correcte, déboguez l'expression d'analyse et le paramètre de sortie associé lors du débogage de scénario. Procédez comme suit :

  • Sur la page Parsing Expression, cliquez sur PTS Scenario en bas de page. Dans la boîte de dialogue Debug qui s'affiche, cliquez sur le nom du scénario. Dans le volet de détails à droite, sélectionnez une API et cliquez sur Debug Scenario.

  • Dans la boîte de dialogue qui apparaît, sélectionnez le type de source, saisissez l'expression d'analyse, spécifiez la nième correspondance et entrez un nom de paramètre de sortie. Cliquez sur Click to test the regular expression for the output parameter. Vérifiez le résultat de la correspondance par rapport aux détails de la réponse pour vous assurer que le contenu extrait est correct.

  • Pour enregistrer la configuration, cliquez sur Test Expression afin d'ajouter cette expression à la liste des paramètres de sortie de l'API.

    Remarque

    Une fois le débogage du scénario terminé, si vous avez synchronisé des paramètres de sortie, retournez à l'onglet Scenario settings du test de charge. Dans l'onglet Sync Output Parameter de cette API, vous devez attribuer un nom au paramètre de sortie synchronisé.

Exemple : Configurer les paramètres de sortie

Dans le secteur de la gestion financière, vous souhaitez recommander des services adaptés en fonction de la capacité de consommation des clients. Dans ce cas, extrayez le niveau de capacité de consommation de chaque client comme paramètre de sortie et utilisez ce paramètre pour recommander des services.

Procédez comme suit :

  1. Connectez-vous à la console PTS, choisissez Output Parameter Definition > Performance Test, puis cliquez sur Create Scenario.

  2. Sur la page PTS, ajoutez des API pour récupérer le pouvoir d'achat et recommander des produits. Nommez-les par exemple Spending Power (with output parameter) et Product Recommendation, puis saisissez leurs URL respectives.

  3. Pour l'API Spending Power (with output parameter), configurez un paramètre de sortie afin d'extraire les informations sur le pouvoir d'achat depuis la réponse. Saisissez un nom de paramètre de sortie (par exemple, output) et l'expression d'analyse (par exemple, data.items[0].value).

  4. Dans le coin inférieur gauche de la page PTS Scenario, cliquez sur Parameter list. Dans l'onglet Custom parameters, vous pouvez consulter le paramètre de sortie que vous avez créé. Cliquez sur le nom du paramètre (par exemple, output) ou sur l'icône de copie 复制图标 pour copier la référence du paramètre dans le presse-papiers.

  5. Dans la configuration de l'API Product Recommendation, accédez à l'onglet PTS Scenario. Collez la référence du paramètre copiée dans le corps.image

    Vous pouvez également modifier le contenu du corps, par exemple en combinant des chaînes, des paramètres ou des fonctions.