Cuando un escenario de prueba de estrés requiere lógica de ramificación (por ejemplo, llamar a distintas API según el valor de respuesta de una solicitud anterior), utilice las instrucciones de evaluación condicional. Estas le permiten controlar qué API se ejecutan en función del cumplimiento de ciertas condiciones.
Funcionamiento de la lógica condicional
PTS admite dos relaciones lógicas entre las condiciones. La relación depende de cómo las organice en el editor de escenarios:
|
Organización |
Relación lógica |
Comportamiento |
|
Anidada (una condición dentro de otra) |
AND |
Todas las condiciones deben ser verdaderas para que se ejecute la API |
|
Paralela (condiciones en el mismo nivel) |
OR |
La API se ejecuta si alguna de las condiciones es verdadera |
Durante la prueba de estrés, PTS evalúa las condiciones de forma secuencial. Una API se ejecuta únicamente después de que se cumplen las condiciones de su rama.
Tipos de valor compatibles para las condiciones
El objeto de evaluación y el valor de comparación de una condición admiten los siguientes tipos:
|
Tipo de valor |
Compatible |
Descripción |
|
Cadena literal |
Sí |
Cadenas fijas como |
|
Parámetros de respuesta |
Sí |
Valores de salida extraídos de una API anterior del escenario |
|
Parámetros globales |
Sí |
Parámetros definidos en el escenario |
|
Parámetros personalizados |
Sí |
Variables definidas por el usuario |
|
Parámetros de archivo |
Sí |
Valores cargados desde archivos de datos externos |
|
Funciones del sistema |
No |
No se pueden usar como objetos de evaluación ni como valores de comparación |
|
Expresiones mixtas de parámetros y cadenas |
No |
No se admiten las concatenaciones de parámetros con cadenas |
Si necesita comparar con varios valores o patrones, utilice expresiones regulares en el valor de comparación.
Agregar una instrucción de evaluación condicional
Inicie sesión en PTS console y seleccione Performance Test > Create Scenario. Haga clic en PTS.
Configure los parámetros de solicitud de un nodo HTTP. Para obtener más información, consulte Basic request parameters.
-
Configure los parámetros de respuesta de la API inicial para que las condiciones posteriores puedan hacer referencia a los valores de salida. Para obtener más información, consulte API response parameters.
Por ejemplo, agregue una configuración de parámetro de respuesta: establezca Output parameter name en
para, seleccione Body : JSON en Source y defina Parse expression comopara. En la sección Business Session, abra la lista desplegable Add Instruction y seleccione Conditional Judgment.
-
Expanda Start Conditional Judgment y configure el parámetro Condition.
Por ejemplo, configure Judgment conditions en la consola de la siguiente manera: introduzca
${para}como objeto de evaluación, elija Greater than or equal como operador e introduzca10como valor de comparación.
Las instrucciones de evaluación condicional deben usarse en pares (un bloque de inicio y uno de fin). El objeto de evaluación debe hacer referencia a un parámetro, como un parámetro de archivo, un parámetro de respuesta de una API anterior o un parámetro personalizado.
Ejemplos
Condición AND: ambas condiciones deben ser verdaderas
Objetivo: ejecutar una API solo cuando para esté entre 10 y 100 (inclusive).
Lógica: para >= 10 AND para <= 100
Configuración: anide la segunda condición (para <= 100) dentro de la primera (para >= 10). Al anidarlas se crea una relación AND, por lo que ambas condiciones deben ser verdaderas para que se ejecute la API.
Condición OR: basta con que una condición sea verdadera
Objetivo: ejecutar una API cuando para esté fuera del rango de 10 a 100.
Lógica: para < 10 OR para > 100
Configuración: coloque ambas condiciones en el mismo nivel (paralelas) y agregue la misma llamada a la API debajo de cada rama. Esta disposición paralela genera una relación OR, así que la API se ejecuta si cualquiera de las condiciones es verdadera.
La evaluación condicional ① es $(para)>=10 y contiene API-1 (método GET); la evaluación condicional ② es $(para)<=100 y contiene API-2 (método GET). Ambas evaluaciones condicionales están en el mismo nivel y van seguidas de una API-3 incondicional (método GET). Las tres API usan la dirección de solicitud http://www.example.com/.
Condición combinada AND/OR
Objetivo: ejecutar una API cuando para3 sea igual a 100 Y además para4 > 100 o para4 < 10.
Lógica: para3 = 100 AND (para4 > 100 OR para4 < 10)
Configuración: coloque las dos condiciones OR (para4 > 100 y para4 < 10) en el mismo nivel y anide ambas dentro de la condición AND (para3 = 100). La condición externa debe ser verdadera y, como mínimo, una de las internas también debe cumplirse.