Compartir vía


Reemplazo de parámetros en una solicitud de dirección URL

Cuando captures una aplicación web mediante el Editor de aplicación Web, puedes incluir información única en una o varias solicitudes que cambian cada vez que te conectas a la aplicación. Esta información se incluye normalmente en la respuesta a una solicitud y luego se usa en una o varias solicitudes posteriores.

Por ejemplo, una aplicación podría crear un identificador de sesión único cuando un usuario inicia sesión. Este identificador de sesión debe incluirse en cada solicitud después del proceso de inicio de sesión. Sin el identificador de sesión correcto, se produce un error en cada una de estas solicitudes. Dado que no se puede saber cuál es este valor hasta que se ejecuta la primera solicitud, no se puede incluir explícitamente en la configuración de la solicitud. Si creas la aplicación web mediante la grabación de una sesión del explorador, el identificador de sesión se recopila en la dirección URL de cada solicitud. Sin embargo, cuando se ejecuta la aplicación, se produce un error en las solicitudes porque el identificador de sesión tendrá un valor diferente del identificador de sesión registrado.

Para configurar esta aplicación, puedes extraer un parámetro de contexto del cuerpo de la respuesta de una solicitud y usar el valor de dicho parámetro en una o varias solicitudes posteriores. A continuación, reemplaza el valor explícito en las solicitudes posteriores por una variable que represente el parámetro. Cada vez que se ejecuta la transacción sintética, el parámetro se rellena en la solicitud donde se define. Cuando la variable se usa en las solicitudes posteriores, se reemplaza por el valor recopilado antes de enviar la solicitud a la aplicación.

Una sola aplicación puede usar cualquier número de parámetros de contexto. Cualquier número de solicitudes puede usar un único parámetro, pero deben ejecutarse después de la solicitud donde se define el parámetro.

Ejemplo de identificador de sesión

Considera el ejemplo en el que una aplicación crea un identificador de sesión cuando un usuario inicia sesión. Este identificador de sesión es necesario en cada solicitud después de la página de inicio de sesión. Para implementar este escenario, debes capturar el identificador de sesión cuando se genera por primera vez y luego usar dicho valor en cada solicitud posterior.

Para empezar, usa el proceso que se describe en Cómo capturar la grabación de las aplicaciones web para capturar el inicio de sesión y las acciones posteriores. La sesión grabada para iniciar sesión en la aplicación y realizar algunas acciones puede ser parecida al ejemplo siguiente.


http://www.myapp.com/home.aspx

http://www.myapp.com/search.aspx?query=testing&sessionid=32793279321721

http://www.myapp.com/results.aspx?sessionid=32793279321721

http://www.myapp.com/submit.aspx?sessionid=32793279321721

En esta secuencia de solicitudes, el identificador de sesión se crea mediante la primera solicitud y se usa en la segunda, tercera y cuarta solicitud. Al ejecutar este monitor, se produce un error porque la primera solicitud genera un nuevo identificador de sesión que no pudo coincidir con el identificador de sesión que se usó cuando se capturó la sesión.

Para configurar esta secuencia de solicitudes con el reemplazo de parámetros, debes crear una regla de extracción en la primera solicitud para crear un parámetro de contexto para el identificador de sesión. La regla de extracción inspecciona el cuerpo de la solicitud para buscar el valor de la variable sessionid. Luego debes modificar las solicitudes posteriores para usar este parámetro en lugar del valor del identificador de sesión.

Las solicitudes modificadas deben tener un aspecto similar al del ejemplo siguiente.


http://www.myapp.com/home.aspx

http://www.myapp.com/search.aspx?query=testing&sessionid=$ParametersContext/sessionID$

http://www.myapp.com/results.aspx?sessionid=$ParametersContext/sessionID$

http://www.myapp.com/submit.aspx?sessionid=$ParametersContext/sessionID$

Creación de una regla de extracción

Los parámetros de contexto se recopilan mediante una regla de extracción y cada regla de extracción recopila un único parámetro de contexto. La regla de extracción se crea en el cuadro de diálogo Propiedades de la solicitud que genera inicialmente los datos necesarios. Para identificar el valor que se va a extraer, debes ver el cuerpo de la respuesta devuelta de la solicitud determinada. Puedes ver el origen de la página devuelta en el explorador, o bien usar una herramienta que te permita inspeccionar los detalles de las respuestas HTTP. No puedes ver el texto con el Editor de aplicación Web.

Cuando hayas identificado la solicitud que contiene la información que tienes que extraer, debes ver la pestaña Reglas de extracción en las propiedades de dicha solicitud y crear una o más reglas de extracción. En la tabla siguiente se muestran los detalles de cada regla de extracción.

Opción Descripción
Nombre de parámetro de contexto Escribe el nombre que deseas asignar al parámetro de contexto.
Empieza con Escribe el texto en el cuerpo de la respuesta que identifica el inicio del valor del parámetro. Debes especificar suficientes caracteres para asegurarte de que la cadena es única. El valor del parámetro se inicia inmediatamente después del último carácter especificado.
Finaliza con Escribe el texto en el cuerpo de la respuesta que identifica el final del valor del parámetro. El valor del parámetro finaliza inmediatamente antes del primer carácter especificado.
Índice Si el texto del cuadro Empieza por aparece más de una vez, este valor indica el valor que se va a usar. Si el texto solo aparece una vez o la primera aparición muestra el texto que se va a extraer, el valor debe ser 0. Si se debe extraer el segundo valor, el valor debe ser 1, etc.
Omitir mayúsculas y minúsculas durante la búsqueda de texto coincidente Especifica si se van a omitir las mayúsculas y minúsculas de los caracteres que se van a buscar en los cuadros Empieza por y Termina con.
Realizar codificación de URI de cadenas extraídas Especifica si se va a codificar la cadena extraída después de recopilarla.

Insertar un parámetro en una solicitud

Usa un parámetro en una solicitud reemplazando el valor explícito por una variable que representa el parámetro. El formato de la variable es $ParametersContext/<ContextParameterName>$. Cuando se ejecuta la solicitud, la variable se reemplaza por los datos extraídos por el parámetro.

Puedes insertar la variable en la solicitud mediante uno de los dos métodos siguientes:

  • En el cuadro de diálogo Propiedades de la solicitud, selecciona la pestaña General y después selecciona URL de la solicitud para modificar esta dirección URL para la solicitud.
  • En el cuadro de diálogo Propiedades de la solicitud, selecciona la pestaña General y después selecciona el botón Insertar parámetro. Utiliza el cuadro de diálogo Insertar parámetro para la solicitud. Se accede a ella desde el botón Insertar parámetro de la pestaña General en el cuadro de diálogo Propiedades de la solicitud de la solicitud.

Ejemplo del uso de la extracción de parámetros en una aplicación web

En el procedimiento siguiente se proporciona un ejemplo del uso de la extracción de parámetros en una aplicación web. En este ejemplo se realiza una consulta para la primera entrada de la sección Popular ahora de la página principal de Bing. Dado que este valor cambia periódicamente, primero debes conectarte a la página principal y recopilar el término de búsqueda del cuerpo de la respuesta. Después usa este término para compilar la solicitud para realizar la búsqueda real.

La página principal de Bing se muestra a continuación con la sección Popular ahora resaltada.

Captura de pantalla de la página principal de Bing.

Para determinar dónde aparece en el cuerpo de la respuesta el término de búsqueda, puedes ver el origen de la página. A continuación se muestra una parte del origen con el código HTML de la sección Popular ahora. En este código HTML, solo necesitas la cadena de búsqueda, que se resalta en la ilustración siguiente. La solicitud se forma a partir de https://www.bing.com seguida de esta cadena.

Ilustración de la cadena de búsqueda de Popular actualmente de Bing.

Simplemente podrías extraer el término en sí, pero es más sencillo incluir toda la cadena en el parámetro. Esta cadena va precedida de los caracteres <h3>Popular ahora</h3><ul><li><a href=> y termina con la siguiente aparición de ". Estos son los valores que usarás al definir la extracción de parámetros.

Registrar una aplicación web de ejemplo

  1. Usa el procedimiento de Cómo capturar el registro de aplicación Web para registrar una aplicación web.
  2. Durante la grabación, conéctate a https://www.bing.com.
  3. Opcionalmente, use la opción en el explorador para ver el origen de la página de inicio de Bing y busque la sección Popular ahora del código HTML.
  4. Selecciona el primer término de búsqueda en Popular actualmente.
  5. Guarda la grabación en la aplicación web.
  6. Quita la última solicitud porque no es necesaria. Para quitar la última solicitud, selecciónala y, después, selecciona Eliminar en el panel Acciones. Las solicitudes resultantes deben tener un aspecto similar al de las siguientes direcciones URL:

Captura de pantalla de la aplicación web de Bing registrada.

Creación de una regla de extracción

  1. Selecciona la primera solicitud y, después, selecciona Propiedades en el panel Acciones.

  2. Seleccione la pestaña Reglas de extracción.

  3. Seleccione Agregar. Se abre el cuadro de diálogo Agregar regla de extracción.

  4. En el cuadro de diálogo Agregar regla de extracción, en el cuadro Nombre del parámetro de contexto, escribe SearchString.

  5. En el cuadro Empieza por, escribe <h3>Popular ahora</h3><ul><li><a href=>.

  6. En el cuadro Trabajar con, escribe ". La regla de extracción debería ser similar a los de la ilustración siguiente:

    Ilustración de la regla de extracción.

  7. Selecciona Aceptar para guardar y cerrar la regla de extracción.

  8. Selecciona Aceptar para guardar y cerrar la solicitud.

Insertar un parámetro en una solicitud

  1. Selecciona la segunda solicitud y, después, haz clic en Propiedades en el panel Acciones.

  2. En la pestaña General, selecciona Insertar parámetro.

  3. En el cuadro Cadena, elimine todo el texto que haya después de www.bing.com/.

  4. Con el cursor situado al final de la dirección URL, justo después de www.bing.com, selecciona SearchString en el cuadro Parámetros y, luego, haz clic en Insertar. Esto inserta la variable $ParametersContext/SearchString$. La solicitud final es similar a la ilustración siguiente.

    Ilustración de Insertar parámetro.

  5. Selecciona Aceptar para cerrar el cuadro de diálogo.

  6. Selecciona Aceptar para guardar y cerrar la solicitud. La secuencia de la solicitud modificada debería ser similar a la ilustración siguiente.

    Ilustración de la aplicación web de Bing modificada.

  7. Selecciona Aplicar para aplicar los cambios y, después, cierra el Editor de aplicación Web.