Cómo: Crear un complemento de nivel de solicitud
Las solicitudes son las instrucciones declarativas que constituyen las pruebas de rendimiento web.Los complementos de pruebas de rendimiento web permiten aislar y reutilizar código fuera de las principales instrucciones declarativas de la prueba de rendimiento web.Puede crear complementos y agregarlos a una solicitud individual, así como a la prueba de rendimiento web que la contiene.U complemento de solicitud personalizado resulta útil para llamar al código cuando una determinada solicitud se ejecuta en una prueba de rendimiento web.
Cada complemento de solicitud de prueba de rendimiento web tiene un método PreRequest y un método PostRequest.Después de asociar un complemento de solicitud a una solicitud HTTP determinada, se desencadenará el evento PreRequest antes de que se emita la solicitud y se desencadenará PostRequest una vez recibida la respuesta.
Para crear un complemento de solicitud de prueba de rendimiento web personalizado, derive su propia clase de la clase base WebTestRequestPlugin.
Puede utilizar complementos de solicitud de prueba de rendimiento web personalizados con las pruebas de rendimiento web que haya grabado.Los complementos de solicitud de prueba de rendimiento web personalizados permiten, con una cantidad mínima de código, obtener mayor control sobre las pruebas de rendimiento web.Sin embargo, también puede utilizarlos con pruebas de rendimiento web codificadas.Para obtener más información, vea Cómo: Crear una prueba de rendimiento web codificada.
Requisitos
- Visual Studio Ultimate
Para crear un complemento de nivel de solicitud
En el Explorador de soluciones, haga clic con el botón secundario en la solución,seleccione Agregar y, a continuación, haga clic en Nuevo proyecto.
Aparecerá el cuadro de diálogo Agregar nuevo proyecto.
En Plantillas instaladas, seleccione Visual C#.
En la lista de plantillas, seleccione Biblioteca de clases.
En el cuadro de texto Nombre, escriba un nombre para la clase y haga clic en Aceptar.
El nuevo proyecto de biblioteca de clases se agregará al Explorador de soluciones y la nueva clase aparecerá en el Editor de código.
En el Explorador de soluciones, haga clic con el botón secundario en la carpeta Referencias en la nueva biblioteca de clases y seleccione Agregar referencia.
Aparecerá el cuadro de diálogo Agregar referencia.
Haga clic en la pestaña .NET, desplácese hacia abajo, seleccione Microsoft.VisualStudio.QualityTools.WebTestFramework y, a continuación, haga clic en Aceptar.
La referencia a Microsoft.VisualStudio.QualityTools.WebTestFramework se agregará a la carpeta Referencias en el Explorador de soluciones.
En el Explorador de soluciones, haga clic en el nodo superior del proyecto de prueba de carga y rendimiento web que contiene la prueba de carga a la que desea agregar el complemento de prueba de solicitud y prueba de rendimiento web.Seleccione Agregar referencia.
Aparecerá el cuadro de diálogo Agregar referencia.
Haga clic en la pestaña Proyectos, seleccione el proyecto de biblioteca de clases y, a continuación, haga clic en Aceptar.
En el Editor de código, escriba el código del complemento.En primer lugar, cree una clase pública derivada de WebTestRequestPlugin.
Implemente el código dentro de uno de los controladores de eventos PreRequest y PostRequest o en ambos.Consulte una implementación del ejemplo en la sección Ejemplo siguiente.
Cuando haya terminado de escribir el código, compile el nuevo proyecto.
Abra la prueba de rendimiento web a la que desea agregar el complemento de solicitud.
Haga clic con el botón secundario en la solicitud a la que desea agregar el complemento de solicitud y, a continuación, seleccione Agregar complemento de solicitud.
Se muestra el cuadro de diálogo Agregar complemento de solicitudes de prueba web.
Bajo Seleccionar un complemento, seleccione el nuevo complemento.
En el panel Propiedades del complemento seleccionado, establezca los valores iniciales que el complemento usará en tiempo de ejecución.
[!NOTA]
Puede exponer tantas propiedades de los complementos como desee; basta con hacerlas públicas, que se puedan establecer y que tengan un tipo base como Integer, Boolean o String.También puede cambiar las propiedades del complemento de prueba de rendimiento web más tarde en la ventana Propiedades.
Elija Aceptar.
El complemento se agregará a la carpeta Complementos de solicitud, que es una carpeta secundaria de la solicitud HTTP.
Precaución Puede obtener un error similar al siguiente al ejecutar una prueba de rendimiento web o una prueba de carga que use su complemento:
Request failed: Exception in <plug-in> event: Could not load file or assembly '<"Plug-in name".dll file>, Version=<n.n.n.n>, Culture=neutral, PublicKeyToken=null' or one of its dependencies.The system cannot find the file specified.
Esto ocurre si realiza cambios en el código de cualquier complemento y crea una nueva versión de DLL (Version=0.0.0.0), pero el complemento sigue haciendo referencia a la versión original del complemento.Para corregir este problema, siga estos pasos:
En el proyecto de prueba de carga y rendimiento web, aparecerá una advertencia en referencias.Quite y vuelva a agregar la referencia al archivo DLL del complemento.
Quite el complemento de la prueba o de la ubicación apropiada y, a continuación, agréguelo de nuevo.
Ejemplo
Puede usar el código siguiente para crear un complemento personalizado de prueba de rendimiento web que muestre dos cuadros de diálogo.Un cuadro de diálogo muestra la dirección URL asociada a la solicitud a la que adjunta el complemento de solicitud.El segundo cuadro de diálogo muestra el nombre de equipo para el agente.
[!NOTA]
El código siguiente requiere que se agregue una referencia a System.Windows.Forms.
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Microsoft.VisualStudio.TestTools.WebTesting;
namespace RequestPluginNamespace
{
public class MyWebRequestPlugin : WebTestRequestPlugin
{
public override void PostRequest(object sender, PostRequestEventArgs e)
{
MessageBox.Show(e.WebTest.Context.AgentName);
}
public override void PreRequest(object sender, PreRequestEventArgs e)
{
MessageBox.Show(e.Request.Url);
}
}
}
Vea también
Tareas
Cómo: Crear una regla de extracción personalizada para una prueba de rendimiento web
Cómo: Crear una regla de validación personalizada para una prueba de rendimiento web
Cómo: Crear un complemento de pruebas de carga
Cómo: Crear una prueba de rendimiento web codificada
Cómo: Modificar las pruebas de rendimiento web con el Editor de prueba de rendimiento web
Referencia
Otros recursos
Crear y usar complementos personalizados para las pruebas de carga y de rendimiento web