Comment : créer un plug-in de test des performances de site Web
Les plug-ins de tests de performances de site Web vous permettent d'isoler et de réutiliser du code en dehors des principales instructions déclaratives de votre test de performances de site Web.Un plug-in de test de performances de site Web personnalisé permet d'appeler du code durant l'exécution du test de performances de site Web.Le plug-in de test de performances de site Web est exécuté une seule fois pour chaque itération de test.De plus, si vous substituez les méthodes PreRequest ou PostRequest dans le plug-in de test, ces plug-ins de requête s'exécuteront avant ou après chaque requête, respectivement.
Vous pouvez créer un plug-in de test de performances de site Web personnalisé en dérivant votre propre classe de la classe de base WebTestPlugin.
Vous pouvez utiliser des plug-ins de test de performances de site Web personnalisés avec les tests de performances de site Web que vous avez enregistrés, ce qui vous permet d'écrire une quantité minimale de code pour obtenir un niveau supérieur de contrôle sur vos tests de performances de site Web.Toutefois, vous pouvez également les utiliser avec des tests de performances de site Web codés.Pour plus d’informations, consultez Comment : créer un test des performances de site Web codé.
[!REMARQUE]
Vous pouvez également créer des plug-ins de test de charge.Pour plus d’informations, consultez Comment : créer un plug-in de test de charge.
Configuration requise
- Visual Studio Ultimate
Pour créer un plug-in de test de performances de site Web
Ouvrez un projet de test de performances et de charge de site Web qui contient un test de performances de site Web.
Pour plus d'informations sur la création d'un projet de test de performances et de charge de site Web, consultez Comment : créer et configurer des projets de tests automatisés.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur la solution et sélectionnez Ajouter, puis cliquez sur 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.
Cliquez sur l'onglet .NET, faites défiler la liste vers le bas et sélectionnez Microsoft.VisualStudio.QualityTools.WebTestFramework
Cliquez sur OK.
La référence à Microsoft.VisualStudio.QualityTools.WebTestFramework 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 et de charge de site Web qui contient le test de charge auquel vous souhaitez ajouter le plug-in du test de performances de site Web, puis sélectionnez Ajouter une référence.
La boîte de dialogue Ajouter une référence s'affiche.
Cliquez sur l'onglet Projets et sélectionnez le projet de bibliothèque de classes.
Cliquez sur OK.
Dans l'éditeur Code, écrivez le code de votre plug-in.Commencez par créer une classe publique qui dérive de WebTestPlugin.
Implémentez le code à l'intérieur d'un des gestionnaires d'événements PreWebTest et PostWebTest.Pour un exemple d'implémentation, reportez-vous à la section suivante.
Après avoir écrit le code, générez le nouveau projet.
Ouvrez un test de performances de site Web.
Pour ajouter le plug-in de test de performances de site Web, cliquez sur Ajouter un plug-in de test Web dans la barre d'outils.
La boîte de dialogue Ajouter un plug-in de test Web s'affiche.
Sous Sélectionner un plug-in, sélectionnez votre classe du plug-in du test de performances de site Web.
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.
[!REMARQUE]
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 Web.
Attention 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 et de chargement de site web, 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 crée un plug-in de test de performances de site Web personnalisé qui ajoute un élément au WebTestContext qui représente l'itération de test.
Après l'exécution du test de performances de site Web, à l'aide de ce plug-in, vous pouvez consulter l'élément ajouté nommé TestIterationNumber dans l'onglet Contexte de l'Afficheur des résultats des tests de performances de site 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++;
}
}
}
Voir aussi
Tâches
Comment : créer un plug-in de niveau demande
Comment : créer une règle d'extraction personnalisée pour un test de performances de site Web
Comment : créer une règle de validation personnalisée pour un test de performances de site Web
Comment : créer un plug-in de test de charge
Comment : créer un test des performances de site Web codé