Comment : créer un plug-in de test des performances de site Web
Publication: juillet 2016
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, voir (retirée) Comment : créer un test des performances de site Web codé.
Notes
Vous pouvez également créer des plug-ins de test de charge.Comment : créer un plug-in de test de charge
Spécifications
- Visual Studio Enterprise
Pour créer un plug-in de test de performances de site web
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 sur la création d'un projet de test de performances web et de charge, voir How to: Create and Configure Test Projects for Automated Tests.
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.
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 Web et de charge qui contient le test de charge auquel vous souhaitez ajouter le plug-in du test de performances Web, 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 Code, écrivez le code de votre plug-in. Commencez par créer une classe publique qui dérive de WebTestPlugin.
Implémentez le code dans un ou plusieurs gestionnaires d'événements. 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 Web, sélectionnez 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.
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 Web.
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 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 web, à l'aide de ce plug-in, vous pouvez voir l'élément ajouté nommé TestIteratnionNumber sous 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 System.ComponentModel;
using Microsoft.VisualStudio.TestTools.WebTesting;
namespace SampleRules
{
[Description("This plugin can be used to set the ParseDependentsRequests property for each request")]
public class SampleWebTestPlugin : WebTestPlugin
{
private bool m_parseDependents = true;
public override void PreWebTest(object sender, PreWebTestEventArgs e)
{
// TODO: Add code to execute before the test.
}
public override void PostWebTest(object sender, PostWebTestEventArgs e)
{
// TODO: Add code to execute after the test.
}
public override void PreRequest(object sender, PreRequestEventArgs e)
{
// Code to execute before each request.
// Set the ParseDependentsRequests value on the request
e.Request.ParseDependentRequests = m_parseDependents;
}
// Properties for the plugin.
[DefaultValue(true)]
[Description("All requests will have their ParseDependentsRequests property set to this value")]
public bool ParseDependents
{
get
{
return m_parseDependents;
}
set
{
m_parseDependents = value;
}
}
}
}
Voir aussi
WebTestRequestPlugin
Créer un code et des plug-ins personnalisés pour les tests de charge
Comment : créer un plug-in de niveau demande
Codage d'une règle d'extraction personnalisée pour un test de performances de site Web
Codage d'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
(retirée) Comment : créer un test des performances de site Web codé
Comment : modifier un test de performances web existant