Todos los productos
Search
Centro de documentos

Performance Testing:Parámetros de salida

Última actualización: Sep 04, 2026

En escenarios reales de pruebas de estrés, puede extraer parámetros de salida de la respuesta de una solicitud y utilizar esa información como entrada para la siguiente. Es posible definir varios parámetros de salida en una sola API. Este tema describe cómo extraer dichos parámetros.

Configurar parámetros de salida

image La siguiente tabla describe los elementos que componen un parámetro de salida.

Elemento

Descripción

Output Parameter Name

Nombre del parámetro de salida. Puede contener letras, dígitos, guiones bajos (_) y guiones (-), pero debe comenzar con una letra.

Source

Método de análisis de la respuesta. Seleccione uno de los siguientes métodos:

  • Body : JSON: analiza el cuerpo de la respuesta en formato JSON.

  • Body : TEXT: analiza el cuerpo de la respuesta como texto sin formato.

  • Header : K/V: analiza el encabezado de la respuesta como un par clave-valor.

    Nota

    Si selecciona Header : K/V, la expresión de análisis corresponde a la clave del encabezado deseado.

  • Cookie : K/V: analiza la cookie como un par clave-valor.

  • HTTP Status Code: extrae el código de estado de la respuesta.

Parsing Expression

Expresión de análisis utilizada para extraer de la respuesta el contenido que se usará como parámetro de salida.

Nth match

Este parámetro solo aplica cuando Source está configurado como Body : TEXT. Si la expresión de análisis encuentra varias coincidencias, utilice este parámetro para seleccionar una. La indexación comienza en 0. Un número negativo, como -n, selecciona la n-ésima coincidencia desde el final. El valor debe estar en el rango [-99, 99]. Para seleccionar una coincidencia aleatoria, introduzca random.

Método de análisis Body : JSON

El tipo de origen Body : JSON admite respuestas con encabezados Content-Type de tipo application/json y text/json.

PTS es compatible con las versiones nueva y antigua de la sintaxis JSONPath. Para resaltar las diferencias entre ambas versiones, las siguientes secciones presentan una estructura JSONPath de ejemplo, así como la sintaxis y descripción de las expresiones para cada caso.

Se recomienda utilizar la versión más reciente de la sintaxis JSONPath.

Expresiones JSONPath (versión nueva)

El siguiente código muestra un ejemplo de la estructura JSONPath en su versión nueva. La tabla posterior detalla la sintaxis y descripción de estas expresiones.

Estructura JSONPath de ejemplo

{
    "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..."
            }
        ]
    }
}

Sintaxis JSONPath

Descripción

$

Objeto raíz. Por ejemplo, si especifica la expresión $.menu.header, se devuelve SVG Viewer.

[num]

Recuperación de un elemento en un arreglo. La variable num indica un número. Por ejemplo, al usar la expresión $.menu.items[0], se obtiene el valor {"id":0}.

[num0,num1,num2...]

Recuperación de múltiples elementos en un arreglo. La variable num indica un número y se devuelven varios elementos. Por ejemplo, con la expresión $.menu.items[0,3], se devuelve un arreglo de dos elementos donde el indicado por 3 es {"id":2,"label":"Zoom In"}.

[start:end]

Recuperación de un rango de elementos definido por un inicio y un fin dentro de un arreglo. Por ejemplo, la expresión $.menu.items[0:3] devuelve un arreglo de cuatro elementos; el elemento 1 es {"id":1,"label":"Open New"} y el elemento 2 es null.

[?(@.key)]

Recuperación de atributos de objeto no vacíos. Por ejemplo, la expresión $.menu.items[?(@.label)] devuelve un arreglo de 12 elementos cuyas etiquetas no están vacías; el primero es {"id":1,"label":"Open New"}.

[?(@.key > 123)]

Recuperación de atributos numéricos mediante comparación. Los operadores admitidos son igual a (=), distinto de (!=), mayor que (>), mayor o igual que (>=), menor que (<) y menor o igual que (<=). Por ejemplo, la expresión $.menu.items[?(@.id > 5)] devuelve un arreglo de 12 elementos con ID mayor a 5, siendo el primero {"id":6}.

[?(@.key = '123')]

Recuperación de atributos de tipo cadena mediante comparación. Se admiten los mismos operadores que en comparaciones numéricas. Por ejemplo, la expresión $.menu.items[?(@.label = 'Copy Again')] devuelve un arreglo con un solo elemento: {"id":11,"label":"Copy Again"}.

[?(@.key like 'aa%')]

Recuperación de atributos de cadena mediante cláusula like. Solo se permite el signo de porcentaje (%) como comodín y también se admite not like. Por ejemplo, la expresión $.menu.items[?(@.label like 'Copy%')] devuelve dos elementos cuya etiqueta contiene la cadena Copy; el primero es {"id":11,"label":"Copy Again"}. Si usa $.menu.items[?(@.label not like 'Copy%')], obtendrá 10 elementos sin la cadena Copy, comenzando con {"id":1,"label":"Open New"}.

[?(@.key rlike 'regexpr')]

Recuperación de atributos de cadena mediante expresión regular. Usa la sintaxis de Java Development Kit (JDK) y admite not rlike. Por ejemplo, $.menu.items[?(@.label rlike 'Copy ([A-Z]+)')] devuelve un elemento cuya etiqueta incluye Copy seguido de mayúsculas: {"id":12,"label":"Copy SVG"}. Con $.menu.items[?(@.label not rlike 'Copy ([A-Z]+)')] se obtienen 11 elementos, iniciando con {"id":1,"label":"Open New"}.

[?(@.key in ('v0', 'v1'))]

Recuperación de atributos mediante cláusula in. Admite objetos de tipo cadena y numérico, además de not in. Por ejemplo, $.menu.items[?(@.id in (1, 2))] devuelve dos elementos con ID 1 y 2; el primero es {"id":1,"label":"Open New"}. Al usar $.menu.items[?(@.id not in (1, 2))], se obtienen 16 elementos cuyo ID no es 1 ni 2, comenzando con {"id":0}.

[?(@.key between 234 and 456)]

Recuperación de atributos mediante cláusula between para valores numéricos. También se admite not between. Por ejemplo, la expresión :$.menu.items[?(@.id between 0 and 3)] devuelve cuatro elementos con ID entre 0 y 3, siendo el primero {"id":0}.

length() o size()

Obtiene la cantidad de elementos en un arreglo. Por ejemplo, tanto $.menu.items.size() como $.menu.items.length() devuelven 22.

..

Recupera un atributo específico en cualquier nivel. Por ejemplo, $.menu.items..id devuelve un arreglo de 18 elementos correspondientes a cada valor de ID.

*

Recupera todos los atributos de un objeto. Por ejemplo, $.menu.items.* devuelve todos los datos del arreglo items.

randomIndex()

Obtiene un elemento aleatorio del arreglo. Por ejemplo, $.menu.items[randomIndex()] devuelve un elemento al azar de items.

['key']

Recupera un atributo específico. Por ejemplo, $['menu']['items'] devuelve el valor del arreglo items.

['key0','key1']

Recupera múltiples atributos. Por ejemplo, $['menu']['items'][3]['id', 'label'] devuelve un arreglo de dos elementos: el ID 2 y la etiqueta Zoom In.

Nota

Las expresiones $.store.book[0].title y $['store']['book'][0]['title'] tienen la misma semántica.

Expresiones JSONPath (versión antigua)

El siguiente fragmento muestra un ejemplo de la estructura JSONPath en su versión antigua. La tabla subsiguiente compara la sintaxis y descripción respecto a la versión nueva.

{
    "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"}
        ]
    }
}
            

Valor del parámetro de salida

Expresión de análisis (versión antigua)

Expresión de análisis (versión nueva, para comparación)

Valor del objeto info.

info

$.info

Valor de ID en el arreglo data.

data.id

$.data.id

Valor del primer elemento en el arreglo items. Admite posición relativa.

data.items[0].value

$.data.items[0].value

Valor del penúltimo elemento en el arreglo items. Admite posición relativa.

data.items[-2].value

No compatible

Todo el arreglo items.

data.items[ALL]

$.data.items[*]

Un elemento aleatorio del arreglo items.

data.items[RANDOM]

$.data.items[randomIndex()]

Método de análisis Body : TEXT

El tipo de origen Body : TEXT admite cualquier formato de texto y utiliza expresiones regulares para extraer datos. Si la expresión regular encuentra varias coincidencias, puede especificar cuál usar mediante su índice. El índice predeterminado es 0, que selecciona la primera coincidencia.

El siguiente código muestra un ejemplo de respuesta de API:

<input name="id" value="34729XXXX">
<input name="token" value="acdfo4dfopasdf44dXXXX">
...
<script>
    var planId=4587;
    var planId=5689;
    var planId=8906;
</script>
            

Valor deseado

Parsing Expression

Nth match

Valor cuyo nombre es id.

<input name="id" value="([0-9]*)">

0

Valor cuyo nombre es token.

name="token" value="([A-Za-z0-9]*)"

0

Valor del tercer elemento PlanID.

var planId=([0-9]*);

2

Valor de un elemento PlanID aleatorio.

var planId=([0-9]*);

random

Convenciones de formato:

  • El análisis comienza al inicio del cuerpo de la respuesta. Se utiliza el primer valor que coincide con la expresión y luego se detiene la búsqueda. Por lo tanto, asegúrese de que su expresión sea lo suficientemente específica para coincidir únicamente con el valor deseado, a menos que cualquiera de las coincidencias sea válida.

  • El texto coincidente no puede contener caracteres especiales como llaves ({}) ni paréntesis (()).

  • Al usar una expresión regular para extraer información de una respuesta JSON, no es necesario agregar un espacio después de los dos puntos entre la clave y el valor. Sin embargo, puede añadirlo para mejorar la legibilidad visual de los datos JSON.

Métodos de análisis Cookie : K/V y Header : K/V

Los métodos Cookie : K/V y Header : K/V sirven para extraer los campos Cookie y Header, respectivamente. En la expresión de análisis, especifique las claves que desea obtener. Por ejemplo, si el campo Cookie contiene token=1234;path=/ y quiere extraer el valor del token, escriba token en la expresión de análisis.

Método de análisis Status Code

El método Status Code permite extraer los códigos de estado de las respuestas. Generalmente se usa para puntos de verificación o saltos condicionales, ya que diferentes códigos de estado devuelven distinta información de página.

Parámetros de salida en nodos JDBC

Para extraer un parámetro de salida de resultados de consultas SQL, seleccione el origen Body : JSON. Los resultados se estructuran como el siguiente objeto JSON:

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

Por ejemplo, considere los resultados de consulta SQL mostrados en la siguiente tabla. Suponga que desea analizar el valor (name1) de la columna name en la primera fila para usarlo como parámetro de salida.

id

name

1

name1

2

name2

Utilice la siguiente expresión de análisis:

$.data[0].name

Depurar parámetros de salida

Si no está seguro de si una expresión de análisis es correcta, puede depurarla junto con su parámetro de salida asociado durante la depuración del escenario. Siga estos pasos:

  • En la página PTS Scenario, haga clic en Debug en la parte inferior. En el cuadro de diálogo Debug Scenario que aparece, haga clic en el nombre del escenario. En el panel de detalles a la derecha, seleccione una API y haga clic en Click to test the regular expression for the output parameter.

  • En el cuadro de diálogo emergente, seleccione el tipo de origen, introduzca la expresión de análisis, especifique la coincidencia n-ésima y asigne un nombre al parámetro de salida. Haga clic en Test Expression. Compare el resultado obtenido con los detalles de la respuesta para comprobar que el contenido extraído sea correcto.

  • Para guardar la configuración, haga clic en Sync Output Parameter y agregar esta expresión a la lista de parámetros de salida de la API.

    Nota

    Una vez concluida la depuración del escenario, si sincronizó algún parámetro de salida, regrese a la pestaña Scenario settings de la prueba de estrés. En la pestaña Output Parameter Definition correspondiente a esa API, deberá asignar un nombre al parámetro sincronizado.

Ejemplo: configurar parámetros de salida

En un contexto de gestión financiera, podría necesitar recomendar servicios adecuados según la capacidad de consumo de los clientes. Para ello, extraiga el nivel de capacidad de consumo de cada cliente como parámetro de salida y utilícelo para generar recomendaciones.

Siga estos pasos:

  1. Inicie sesión en la consola de PTS, vaya a Performance Test > Create Scenario y haga clic en PTS.

  2. En la página PTS Scenario, agregue APIs para obtener el poder adquisitivo y recomendar productos. Por ejemplo, nómbrelas Spending Power (with output parameter) y Product Recommendation, e introduzca sus respectivas URL.

  3. Para la API Spending Power (with output parameter), configure un parámetro de salida que extraiga la información de poder adquisitivo de la respuesta. Introduzca un nombre para el parámetro (por ejemplo, output) y la expresión de análisis (por ejemplo, data.items[0].value).

  4. En la esquina inferior izquierda de la página PTS Scenario, haga clic en Parameter list. En la pestaña Custom parameters, podrá ver el parámetro de salida creado. Haga clic en el nombre del parámetro (por ejemplo, output) o en el icono de copia 复制图标 para copiar la referencia del parámetro al portapapeles.

  5. En la configuración de la API Product Recommendation, vaya a la pestaña Body Definition. Pegue la referencia copiada en el cuerpo.image

    También puede editar el contenido del cuerpo, por ejemplo, combinando cadenas, parámetros o funciones.