Comment : créer un plug-in de test de charge
Publication: juillet 2016
Vous pouvez créer un plug-in de test de charge pour exécuter du code à différents stades de l'exécution du test de charge. Vous pouvez créer un plug-in pour développer ou modifier la fonctionnalité intégrée du test de charge. Par exemple, vous pouvez coder un plug-in de test de charge pour définir ou modifier le modèle de test de charge pendant l'exécution du test de charge. Pour cela, vous devez créer une classe qui hérite de l'interface de ILoadTestPlugin. Cette classe doit implémenter la méthode Initialize de cette interface. Pour plus d'informations, consultez ILoadTestPlugin.
Notes
Vous pouvez également créer des plug-ins pour les tests de performances de site web.Pour plus d'informations, voir Comment : créer un plug-in de test des performances de site Web.
Spécifications
- Visual Studio Enterprise
Pour créer un plug-in de test de charge à l'aide de Visual C#
Ouvrez un projet de test de performances de site web et de charge qui contient un test de performances de site web.
Pour plus d'informations, voir How to: Create and Configure Test Projects for Automated Tests.
Ajoutez un test de charge au projet de test et configurez-le pour exécuter un test de performances de site Web.
Pour plus d'informations, voir [retirée] Création de tests de charge.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur la solution et sélectionnez Ajouter, puis choisissez Nouveau projet.
La boîte de dialogue Ajouter un nouveau projet s'affiche.
Sous Modèles installés, sélectionnez Visual C#.
Dans la liste des modèles, sélectionnez Bibliothèque de classes.
Dans la zone de texte Nom, tapez le nom de votre classe.
Cliquez sur OK.
Le nouveau projet de bibliothèque de classes est ajouté à l'Explorateur de solutions et la nouvelle classe s'affiche dans l'éditeur de code.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le dossier Références dans la nouvelle bibliothèque de classes et sélectionnez Ajouter une référence.
La boîte de dialogue Ajouter une référence s'affiche.
Choisissez l'onglet .NET, faites défiler la page, puis sélectionnez Microsoft.VisualStudio.QualityTools.LoadTestFramework.
Cliquez sur OK.
La référence à Microsoft.VisualStudio.QualityTools.LoadTestFramework est ajoutée au dossier Référence dans l'Explorateur de solutions.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud supérieur du projet de test de performances de site Web et de charge qui contient le test de charge auquel vous souhaitez ajouter le plug-in de test de charge, puis sélectionnez Ajouter une référence.
La boîte de dialogue Ajouter une référence s'affiche.
Choisissez l'onglet Projets et sélectionnez le projet de bibliothèque de classes.
Cliquez sur OK.
Dans l'éditeur de code, ajoutez une instruction using pour l'espace de noms Microsoft.VisualStudio.TestTools.LoadTesting.
Implémentez l'interface ILoadTestPlugin pour la classe créée dans le projet de bibliothèque de classes. Pour un exemple d'implémentation, reportez-vous à la section suivante.
Après avoir écrit le code, générez le nouveau projet.
Cliquez avec le bouton droit sur le nœud supérieur du test de charge, puis choisissez Ajouter un plug-in de test de charge.
La boîte de dialogue Ajouter un plug-in de test de charge s'affiche.
Sous Sélectionner un plug-in, sélectionnez votre classe du plug-in du test de charge.
Dans le volet Propriétés du plug-in sélectionné, définissez les valeurs initiales du plug-in à utiliser au moment de l'exécution.
Notes
Vous pouvez exposer autant de propriétés que vous souhaitez de vos plug-ins ; il suffit de les rendre publics, définissables et d'un type de base, tel qu'un entier, une valeur booléenne ou une chaîne.Vous pouvez également modifier ultérieurement les propriétés du plug-in de test de performances de site web dans la fenêtre Propriétés.
Cliquez sur OK.
Le plug-in est ajouté au dossier Plug-ins de test de charge.
Avertissement
Vous pouvez obtenir une erreur semblable au cas suivant lorsque vous exécutez un test de performances de site web ou un test de charge qui utilise votre plug-in :
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.
Cela est provoqué par les modifications de code apportées à chacun de vos plug-ins et la création d'une nouvelle version de la DLL (Version=0.0.0.0), mais le plug-in référence encore la version du plug-in d'origine.Pour résoudre ce problème, procédez comme suit :
-
Dans votre projet de test de performances de site web et de charge, un message d'avertissement s'affiche dans les références.Supprimez et rajoutez la référence à la DLL de votre plug-in.
-
Supprimez le plug-in de votre test ou de l'emplacement approprié, puis rajoutez-le.
-
Exemple
Le code suivant illustre un plug-in de test de charge qui exécute du code personnalisé suite à un événement LoadTestFinished. Si ce code est exécuté sur un agent de test sur un ordinateur distant et si l'agent et le contrôleur de test n'ont pas de service SMTP localhost, le test de charge reste à l'état "En cours" car une boîte de message est ouverte.
Notes
Le code suivant requiert l'ajout d'une référence à 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);
}
}
}
}
Huit événements sont associés à un test de charge et peuvent être gérés dans le plug-in de test de charge pour exécuter du code personnalisé avec le test de charge. Voici une liste des événements qui procurent un accès à différentes périodes de la série de tests de charge :
Voir aussi
ILoadTestPlugin
Créer un code et des plug-ins personnalisés pour les tests de charge
Comment : créer un plug-in de test des performances de site Web