Lorsqu'un scénario de test de charge nécessite une logique de branchement — par exemple, appeler différentes API en fonction d'une valeur de réponse issue d'une requête précédente — utilisez des instructions de jugement conditionnel pour contrôler l'exécution des API selon que les conditions spécifiées sont remplies ou non.
Fonctionnement de la logique conditionnelle
PTS prend en charge deux relations logiques entre les conditions, déterminées par leur organisation dans l'éditeur de scénarios :
| Disposition | Relation logique | Comportement |
|---|---|---|
| Imbriquée (une condition à l'intérieur d'une autre) | ET | Toutes les conditions doivent être vraies pour que l'API s'exécute |
| Parallèle (conditions au même niveau) | OU | L'API s'exécute si au moins une condition est vraie |
PTS évalue les conditions séquentiellement pendant le test de charge. Une API ne s'exécute qu'une fois les conditions de sa branche satisfaites.
Types de valeurs pris en charge pour les conditions
L'objet de jugement et la valeur de comparaison d'une condition acceptent les types suivants :
| Type de valeur | Pris en charge | Description |
|---|---|---|
| Littéral de chaîne | Oui | Chaînes fixes telles que "success" ou "200" |
| Paramètres de réponse | Oui | Valeurs de sortie extraites d'une API précédente du scénario |
| Paramètres globaux | Oui | Paramètres définis au niveau du scénario |
| Paramètres personnalisés | Oui | Variables définies par l'utilisateur |
| Paramètres de fichier | Oui | Valeurs chargées à partir de fichiers de données externes |
| Fonctions système | Non | Ne peuvent pas être utilisées comme objets de jugement ou valeurs de comparaison |
| Expressions mixtes paramètre-chaîne | Non | Les concaténations de paramètres et de chaînes ne sont pas prises en charge |
Pour faire correspondre plusieurs valeurs ou motifs, utilisez des expressions régulières dans la valeur de comparaison.
Ajouter une instruction de jugement conditionnel
Connectez-vous à la console PTS et choisissez Performance Test > Create Scenario. Cliquez sur PTS.
Configurez les paramètres de requête d'un nœud HTTP. Pour plus d'informations, consultez la section Basic request parameters.
-
Configurez les paramètres de réponse pour l'API initiale afin que les conditions suivantes puissent référencer les valeurs de sortie. Pour plus d'informations, consultez la section API response parameters.
Par exemple, ajoutez une configuration de paramètre de réponse : définissez Output parameter name sur
para, sélectionnez Body : JSON pour Source et définissez Parse expression surpara. Dans la section Business Session, cliquez sur la liste déroulante Add Instruction et sélectionnez Conditional Judgment.
-
Développez Start Conditional Judgment et configurez le paramètre Condition.
Par exemple, définissez les Judgment conditions dans la console comme suit : saisissez
${para}pour l'objet de jugement, sélectionnez Greater than or equal comme opérateur et saisissez10pour la valeur de comparaison.
Les instructions de jugement conditionnel doivent être utilisées par paires (un bloc de début et un bloc de fin). L'objet de jugement doit référencer un paramètre, tel qu'un paramètre de fichier, un paramètre de réponse d'une API précédente ou un paramètre personnalisé.
Exemples
Condition ET : les deux conditions doivent être vraies
Objectif : Exécuter une API uniquement lorsque para est compris entre 10 et 100 (inclus).
Logique : para >= 10 ET para <= 100
Configuration : Imbriquez la deuxième condition (para <= 100) dans la première condition (para >= 10). L'imbrication crée une relation ET : les deux conditions doivent être vraies pour que l'API s'exécute.
Condition OU : l'une ou l'autre condition suffit
Objectif : Exécuter une API lorsque para est en dehors de la plage de 10 à 100.
Logique : para < 10 OU para > 100
Configuration : Placez les deux conditions au même niveau (parallèle) et ajoutez le même appel d'API sous chaque branche. La disposition parallèle crée une relation OU : l'API s'exécute si l'une des conditions est vraie.
Le jugement conditionnel ① est $(para)>=10 et contient API-1 (méthode GET) ; le jugement conditionnel ② est $(para)<=100 et contient API-2 (méthode GET). Les deux jugements conditionnels se trouvent au même niveau, et un API-3 inconditionnel (méthode GET) les suit. Les trois API utilisent l'adresse de requête http://www.example.com/.
Condition combinée ET/OU
Objectif : Exécuter une API lorsque para3 est égal à 100 ET que soit para4 > 100 soit para4 < 10.
Logique : para3 = 100 ET (para4 > 100 OU para4 < 10)
Configuration : Placez les deux conditions OU (para4 > 100 et para4 < 10) au même niveau, puis imbriquez-les toutes les deux dans la condition ET (para3 = 100). La condition externe doit être vraie, et au moins une condition interne doit également être vraie.