Générer et exécuter un test de performances de site Web codéGenerate and run a coded web performance test

Les tests de performances web sont enregistrés lors de la navigation au sein de votre application web.Web performance tests are recorded by browsing through your web app. Les tests sont inclus dans les tests de charge afin de mesurer les performances de votre application web soumise à l’activité de plusieurs utilisateurs.The tests are included in load tests to measure the performance of your web application under the stress of multiple users. Un test de performances de site web peut être converti en un script basé sur le code que vous pouvez modifier et personnaliser comme tout autre code source.A web performance test can be converted to a code-based script that you can edit and customize like any other source code. Par exemple, vous pouvez ajouter des boucles et des branchements.For example, you can add looping and branching constructs.

Générer un test de performances Web codéGenerate a coded web performance test

  1. Si vous n’avez pas créé un test de performances web, consultez Enregistrer un test de performances web.If you have not created a web performance test, see Record a web performance test.

  2. Générez le test codé.Generate the coded test.

    Générer un test de performances Web codé

  3. Nommez le test.Name the test.

    Entrer un nom pour le test de performances web codé

    Le nouveau test codé s'ouvre dans l'éditeur de code.The new coded test opens in the code editor.

    En fonction du modèle de projet de test de performances web et de charge que vous avez ajouté à votre solution, le code sera généré en Visual Basic ou en Visual C#.Depending on which web performance and load test project template you added to your solution, the code will be generated in either Visual Basic, or Visual C#.

    Le nouveau test codé s'ouvre dans l'éditeur de code

    Vous pouvez voir dans le code que la méthode GetRequestEnumerator() en C# ou la méthode Run() en Visual Basic contient chaque règle de validation et chaque requête web qui se trouvaient dans le test recodé.You can see in the code that the GetRequestEnumerator() method in C#, or the Run() method in Visual Basic, contains each validation rule and web request that was in the recoded test.

  4. Pour montrer comment ajouter du code simple, faites défiler le code jusqu'à la fin de la méthode et après le code de la dernière requête web, ajoutez le code suivant :To demonstrate adding some simple code, scroll down to the end of the method and after the code for the last web request, and add the following code:

    if (DateTime.Today.DayOfWeek == DayOfWeek.Wednesday)
    {
        WebTestRequest customRequest = new WebTestRequest("http://weather.msn.com/");
        yield return customRequest;
    }
    else
    {
        WebTestRequest customRequest = new WebTestRequest("http://msdn.microsoft.com/");
        yield return customRequest;
    }
    
    If DateTime.Today.DayOfWeek = DayOfWeek.Wednesday Then
        Dim customRequest As WebTestRequest = New WebTestRequest("http://weather.msn.com/")
        MyBase.Send(customRequest)
    Else
        Dim customRequest As WebTestRequest = New WebTestRequest("http://msdn.microsoft.com/")
        MyBase.Send(customRequest)
    End If
    
  5. Générez la solution pour vérifier que votre code personnalisé se compile.Build the solution to verify that your custom code compiles.

  6. Exécutez le test.Run the test.

    Exécuter le test de performances de site web codé

    Et puisque le jour d'exécution était un mercredi…And because the day this was run happened to be a Wednesday…

    Résultats du test de performances web codé

Questions et réponsesQ&A

Q : Puis-je exécuter plusieurs tests simultanément ?Q: Can I run more than one test at a time?

R : Oui, utilisez le menu contextuel dans l’Explorateur de solutions.A: Yes, use the context menu in Solution Explorer.

Q : Dois-je ajouter une source de données avant ou après la génération d'un test codé ?Q: Should I add a data source before or after I generate a coded test?

R : Il est plus facile d’ajouter une source de données avant de générer le test codé, car le code sera généré automatiquement pour vous.A: It is easier to a data source, before you generate the coded test because the code will be automatically generated for you.

Lorsque vous exécutez un test codé avec une source de données, le message d'erreur suivant peut s'afficher :When you run a coded test with a data source, you might see the following error message:

Impossible d’exécuter le test <nom du test> sur l’agent de <nom de l’ordinateur> : référence d’objet non définie sur une instance d’un objet.Could not run test <Test Name> on agent <Computer Name>: Object reference not set to an instance of an object.

Cette erreur peut se produire parce qu'un DataSourceAttribute a été défini pour la classe de test, sans DataBindingAttribute correspondant.This can occur because you have a DataSourceAttribute defined for the test class, without a corresponding DataBindingAttribute. Pour résoudre cette erreur, ajoutez un DataBindingAttribute approprié, supprimez-le ou commentez-le hors du code.To resolve this error, add an appropriate DataBindingAttribute, delete it, or comment it out of the code.

Q : Dois-je ajouter des règles de validation et d’extraction avant ou après la génération d’un test codé ?Q: Should I add validation and extraction rules before or after I generate a coded test?

R : Il est plus facile d’ajouter des règles de validation et d’extraction avant de générer le test codé. Cependant, nous vous recommandons d’utiliser des tests codés de l’interface utilisateur à des fins de validation.A: It is easier to validation rules and extraction rules before you generate the coded test; however, we recommend that you use coded UI tests for validation purposes.