Compartir a través de


Cómo: Crear un complemento de pruebas de carga

Puede crear un complemento de prueba de carga para ejecutar el código en distintos momentos mientras se ejecuta la prueba de carga.Los complementos se crean para expandir o modificar la funcionalidad incorporada de la prueba de carga.Por ejemplo, puede codificar un complemento de prueba de carga para establecer o modificar el modelo de prueba de carga mientras se ejecuta la prueba de carga.Para ello, cree una clase que hereda la interfaz ILoadTestPlugin.Esta clase debe implementar el método Initialize de esta interfaz.Para obtener más información, vea ILoadTestPlugin.

[!NOTA]

También se pueden crear complementos para pruebas de rendimiento web.Para obtener más información, vea Cómo: Crear un complemento de prueba de rendimiento web

Requisitos

  • Visual Studio Ultimate

Para crear un complemento de prueba de carga mediante Visual C#

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

    Para obtener más información, vea Cómo: Crear y configurar proyectos de prueba para pruebas automatizadas.

  2. Agregue una prueba de carga al proyecto de prueba y configúrela para la ejecución de una prueba de rendimiento web.

    Para obtener más información, vea Crear pruebas de carga con el Asistente para nueva prueba de carga.

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

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

  4. En Plantillas instaladas, seleccione Visual C#.

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

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

  7. Elija Aceptar.

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

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

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

  11. Elija la pestaña .NET, desplácese hacia abajo y seleccione Microsoft.VisualStudio.QualityTools.LoadTestFramework.

  12. Elija Aceptar.

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

  13. En el Explorador de soluciones, haga clic con el botón secundario en el nodo 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 carga y seleccione Agregar referencia.

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

  15. Elija la pestaña Proyectos y seleccione el proyecto Biblioteca de clases.

  16. Elija Aceptar.

  17. En el Editor de código, agregue una instrucción using para el espacio de nombres Microsoft.VisualStudio.TestTools.LoadTesting.

  18. Implemente la interfaz ILoadTestPlugin para la clase creada en el proyecto Biblioteca de clases.Consulte una implementación del ejemplo en la sección Ejemplo siguiente.

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

  20. Haga clic con el botón secundario en el nodo de la prueba de carga y, a continuación, elija Agregar complemento de prueba de carga.

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

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

  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 de carga.

    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 el proyecto de prueba de rendimiento web y carga, aparecerá una advertencia en 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 muestra un complemento de prueba de carga que ejecuta código personalizado después de que se produzca un evento LoadTestFinished.Si este código se ejecuta en un agente de una máquina remota y el agente de prueba no tienen un servicio SMTP de host local, la prueba de carga permanecerá en el estado "En curso" mientras se abre un cuadro de mensaje.

[!NOTA]

El código siguiente requiere que se agregue una referencia a System.Windows.Forms.

using System;
using Microsoft.VisualStudio.TestTools.LoadTesting;
using System.Net.Mail;
using System.Windows.Forms;

namespace LoadTestPluginTest
{
    public class MyLoadTestPlugin : ILoadTestPlugin
    {
        LoadTest myLoadTest;

        public void Initialize(LoadTest loadTest)
        {
            myLoadTest = loadTest;
            myLoadTest.LoadTestFinished += new
                EventHandler(myLoadTest_LoadTestFinished);
        }

        void myLoadTest_LoadTestFinished(object sender, EventArgs e)
        {
            try
            {
                // place custom code here
                MailAddress MyAddress = new MailAddress("someone@example.com");
                MailMessage MyMail = new MailMessage(MyAddress, MyAddress);
                MyMail.Subject = "Load Test Finished -- Admin Email";
                MyMail.Body = myLoadTest..Name + " has finished.";

                SmtpClient MySmtpClient = new SmtpClient("localhost");
                MySmtpClient.Send(MyMail);
            }

            catch (SmtpException ex)
            {
                MessageBox.Show(ex.InnerException.Message +
                    ".\r\nMake sure you have a valid SMTP.", "LoadTestPlugin", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
            }
        }
    }
} 

Hay ocho eventos asociados a una prueba de carga, que pueden controlarse en el complemento de prueba de carga para que ejecuten código personalizado con la prueba.A continuación se muestra una lista de los eventos que proporcionan acceso a los distintos períodos de la ejecución de la prueba de carga:

Vea también

Tareas

Cómo: Crear un complemento de prueba de rendimiento web

Referencia

ILoadTestPlugin

Otros recursos

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