Comment : créer un plug-in de niveau demande
Publication: juillet 2016
Les requêtes sont les instructions déclaratives qui constituent les tests de 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. Vous pouvez créer des plug-ins et les ajouter à une requête individuelle aussi bien qu'au test de performances de site Web qui la contient. Un plug-in de requête personnalisé permet d'appeler du code quand une requête particulière est exécutée dans un test de performances web.
Chaque plug-in de requête de test de performances de site Web comporte une méthode PreRequest et une méthode PostRequest. Après avoir joint un plug-in de requête à une requête HTTP particulière, l'événement PreRequest est déclenché avant l'émission de la requête et l'événement PostRequest après la réception de la réponse.
Vous pouvez créer un plug-in de requête de test de performances de site Web personnalisé en dérivant votre propre classe de la classe de base WebTestRequestPlugin.
En outre, vous pouvez utiliser des plug-ins de requête de test de performances de site Web personnalisés avec des tests de performances de site Web enregistrés. Les plug-ins de requête de test de performances de site Web personnalisés vous permettent de minimiser le code à écrire pour arriver à mieux contrôler vos tests de performances de site Web. Toutefois, vous pouvez également les utiliser avec des tests de performances de site web codés. (retirée) Comment : créer un test des performances de site Web codé
Spécifications
- Visual Studio Enterprise
Pour créer un plug-in de niveau demande
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur la solution, 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 un nom pour votre classe, puis 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, sélectionnez Microsoft.VisualStudio.QualityTools.WebTestFramework, puis 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 auquel vous souhaitez ajouter le plug-in du test de demande de test de performances Web. Sélectionnez Ajouter une référence.
La boîte de dialogue Ajouter une référence s'affiche.
Cliquez sur l'onglet Projets, sélectionnez le projet de bibliothèque de classes, puis 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 WebTestRequestPlugin.
Implémentez le code à l'intérieur d'un des gestionnaires d'événements PreRequest et PostRequest. Pour un exemple d'implémentation, reportez-vous à la section suivante.
Après avoir écrit le code, générez le nouveau projet.
Ouvrez le test de performances de site Web auquel vous souhaitez ajouter le plug-in de requête.
Cliquez avec le bouton droit sur la requête à laquelle vous souhaitez ajouter le plug-in de requête, puis sélectionnez Ajouter un plug-in de requête.
La boîte de dialogue Ajouter un plug-in de requête de test web s'affiche.
Sous Sélectionner un plug-in, sélectionnez votre nouveau plug-in.
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 requête, qui est un dossier enfant de la requête HTTP.
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
Vous pouvez utiliser le code suivant pour créer un plug-in de test de performances de site Web personnalisé qui affiche deux boîtes de dialogue. La première boîte de dialogue affiche l'URL associée à la requête à laquelle vous joignez le complément de requête. La deuxième boîte de dialogue affiche le nom de l'ordinateur de l'agent.
Notes
Le code suivant requiert l'ajout d'une référence à System.Windows.Forms.
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Microsoft.VisualStudio.TestTools.WebTesting;
namespace RequestPluginNamespace
{
public class MyWebRequestPlugin : WebTestRequestPlugin
{
public override void PostRequest(object sender, PostRequestEventArgs e)
{
MessageBox.Show(e.WebTest.Context.AgentName);
}
public override void PreRequest(object sender, PreRequestEventArgs e)
{
MessageBox.Show(e.Request.Url);
}
}
}
Voir aussi
WebTestRequestPlugin
Créer un code et des plug-ins personnalisés pour les tests de charge
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