Compartir a través de


Cómo: Crear un complemento de prueba 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.Un complemento de prueba de rendimiento web personalizado ofrece un modo de llamar a código cuando se ejecuta la prueba de rendimiento web.El complemento de prueba de rendimiento web se ejecuta una vez por cada iteración de la prueba.Además, si invalida los métodos PreRequest o PostRequest en el complemento de pruebas, esos complementos de solicitud se ejecutarán antes o después de cada solicitud, respectivamente.

Para crear un complemento de prueba de rendimiento web personalizado, derive su propia clase de la clase base WebTestPlugin.

Puede usar complementos de prueba de rendimiento web personalizados con las pruebas de rendimiento web que ha grabado, lo que le permitirá escribir una cantidad mínima de código para obtener un mayor nivel de 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.

[!NOTA]

También puede crear complementos de pruebas de carga.Para obtener más información, vea Cómo: Crear un complemento de pruebas de carga.

Requisitos

  • Visual Studio Ultimate

Para crear un complemento de prueba de rendimiento web personalizado

  1. Abra un proyecto de prueba de carga y rendimiento web que contenga una prueba de rendimiento web.

    Para obtener más información sobre cómo crear un proyecto de rendimiento web y de pruebas de carga, vea Cómo: Crear y configurar proyectos de prueba para pruebas automatizadas.

  2. En el Explorador de soluciones, haga clic con el botón secundario en la solución, seleccione Agregar y, a continuación, seleccione Nuevo proyecto.

    Aparecerá el cuadro de diálogo Agregar nuevo proyecto.

  3. En Plantillas instaladas, seleccione Visual C#.

  4. En la lista de plantillas, seleccione Biblioteca de clases.

  5. En el cuadro de texto Nombre, escriba el nombre de la clase.

  6. Elija Aceptar.

  7. El nuevo proyecto de biblioteca de clases se agregará al Explorador de soluciones y la nueva clase aparecerá en el Editor de código.

  8. 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.

  9. Aparecerá el cuadro de diálogo Agregar referencia.

  10. Seleccione en la pestaña .NET, desplácese hacia abajo y seleccione Microsoft.VisualStudio.QualityTools.WebTestFramework.

  11. Elija Aceptar.

    La referencia a Microsoft.VisualStudio.QualityTools.WebTestFramework se agregará a la carpeta Referencias en el Explorador de soluciones.

  12. En el Explorador de soluciones, haga clic con el botón secundario en el nodo superior del proyecto de pruebas de rendimiento web y de carga que contiene la prueba de carga a la que desea agregar el complemento de prueba de rendimiento web y seleccione Agregar referencia.

  13. Aparecerá el cuadro de diálogo Agregar referencia.

  14. Elija la pestaña Proyectos y seleccione el Proyecto de biblioteca de clases.

  15. Elija Aceptar.

  16. En el Editor de código, escriba el código del complemento.En primer lugar, cree una clase pública derivada de WebTestPlugin.

  17. Implemente el código dentro de uno de los controladores de eventos PreWebTest y PostWebTest o en ambos.Consulte una implementación del ejemplo en la sección Ejemplo siguiente.

  18. Cuando haya terminado de escribir el código, compile el nuevo proyecto.

  19. Abra una prueba de rendimiento web.

  20. Para agregar el complemento de prueba de rendimiento web, seleccione Agregar complemento de prueba web en la barra de herramientas.

    Aparecerá el cuadro de diálogo Agregar complemento de prueba web.

  21. Bajo Seleccionar un complemento, seleccione la clase del complemento de prueba de rendimiento web.

  22. 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.

  23. Elija Aceptar.

    El complemento se agregará a la carpeta Complementos de prueba web.

    Nota de precauciónPrecaució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:

    1. En su proyecto de prueba de carga y rendimiento web, aparecerá una advertencia en las referencias.Quite y vuelva a agregar la referencia al archivo DLL del complemento.

    2. Quite el complemento de la prueba o de la ubicación apropiada y, a continuación, agréguelo de nuevo.

Ejemplo

El código siguiente crea un complemento de prueba de rendimiento web personalizado que agrega un elemento al objeto WebTestContext que representa la iteración de la prueba.

Después de ejecutar la prueba de rendimiento web, con este complemento puede ver el elemento agregado denominado TestIteratnionNumer en la pestaña Contexto del Visor de resultados de pruebas de rendimiento web.

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.VisualStudio.TestTools.WebTesting;

namespace SampleRules
{
    public class SampleWebTestPlugin : WebTestPlugin
    {
        // start counting iterations at 1 not 0
        // so that the iteration number we give matches the run number
        static int testIterationNumber = 1;

        public override void PostWebTest(object sender, PostWebTestEventArgs e)
        {
        }

        public override void PreWebTest(object sender, PreWebTestEventArgs e)
        {
            e.WebTest.Context["TestIterationNumber"] = testIterationNumber;
            testIterationNumber++;
        }
    }
}

Vea también

Tareas

Cómo: Crear un complemento de nivel de solicitud

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

WebTestRequestPlugin

Otros recursos

Crear y usar complementos personalizados para las pruebas de carga y de rendimiento web