Cómo: Crear un complemento de pruebas de carga
Este tema se aplica a:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
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.
Para crear un complemento de prueba de carga mediante Visual C#
Abra un proyecto de prueba 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.
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 Cómo: Crear una nueva prueba de carga mediante el Asistente para nueva prueba de carga.
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 el nombre de la clase.
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 y seleccione Microsoft.VisualStudio.QualityTools.LoadTestFramework.
Haga clic en Aceptar.
La referencia a Microsoft.VisualStudio.QualityTools.LoadTestFramework se agregará a la carpeta Referencias en el Explorador de soluciones.
En el Explorador de soluciones, haga clic con el botón secundario en el nodo superior del proyecto de prueba que contiene la prueba de carga a la que desea agregar el complemento de prueba de carga y seleccione Agregar referencia.
Aparecerá el cuadro de diálogo Agregar referencia.
Haga clic en la pestaña Proyectos y seleccione el proyecto Biblioteca de clases.
Haga clic en Aceptar.
En el Editor de código, agregue una instrucción using para el espacio de nombres Microsoft.VisualStudio.TestTools.LoadTesting.
Implemente la interfaz ILoadTestPlugin para la clase creada en el proyecto Biblioteca de clases. Vea una implementación del ejemplo en la sección Ejemplo siguiente.
Cuando haya terminado de escribir el código, genere el nuevo proyecto.
Haga clic con el botón secundario en el nodo de la prueba de carga y, a continuación, haga clic en Agregar complemento de prueba de carga.
Aparecerá el cuadro de diálogo Agregar complemento de prueba de carga.
Bajo Seleccionar un complemento, seleccione la clase del complemento de prueba de carga.
En el recuadro 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.
Haga clic en Aceptar.
El complemento se agregará a la carpeta Complementos de prueba de carga.
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 verá una advertencia en las 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
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 siguiente código 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
Otros recursos
Crear y usar complementos personalizados para las pruebas de carga y de rendimiento web