Partager via


WebTestRequest, classe

Représente une requête HTTP qui sera envoyée à un serveur Web.

Hiérarchie d'héritage

System.Object
  Microsoft.VisualStudio.TestTools.WebTesting.WebTestItem
    Microsoft.VisualStudio.TestTools.WebTesting.WebTestRequest

Espace de noms :  Microsoft.VisualStudio.TestTools.WebTesting
Assembly :  Microsoft.VisualStudio.QualityTools.WebTestFramework (dans Microsoft.VisualStudio.QualityTools.WebTestFramework.dll)

Syntaxe

'Déclaration
<SerializableAttribute> _
Public Class WebTestRequest _
    Inherits WebTestItem
[SerializableAttribute]
public class WebTestRequest : WebTestItem
[SerializableAttribute]
public ref class WebTestRequest : public WebTestItem
[<SerializableAttribute>]
type WebTestRequest =  
    class
        inherit WebTestItem
    end
public class WebTestRequest extends WebTestItem

Le type WebTestRequest expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique WebTestRequest(String) Initialise une nouvelle instance de la classe WebTestRequest à l'aide d'une chaîne d'URL.
Méthode publique WebTestRequest(Uri) Initialise une nouvelle instance de la classe WebTestRequest à l'aide d'un objet Uri.

Début

Propriétés

  Nom Description
Propriété publique Body Obtient ou définit le corps de cette requête.
Propriété publique BodyBytes Obtient les octets associés à ce corps.
Propriété publique Cache Obtient ou définit une valeur qui indique s'il faut simuler la mise en cache du navigateur pour la requête.
Propriété publique ClientCertificates Obtient ou définit une référence pour permettre aux utilisateurs d'authentifier l'utilisation de certificats X.509 SSL.
Propriété publique ContentLength Obtient la longueur, en octets, du corps de la demande.
Propriété publique ContentType Obtient le type de contenu de la demande.
Propriété publique Cookies Obtient une collection de cookies.
Propriété publique CorrelationExtractionRuleReferences Obtient la collection de références aux règles d'extraction utilisées pour faire correspondre les paramètres dynamiques.
Propriété publique DependentRequests Obtient la collection de propriétés dépendantes.
Propriété publique EncodeRedirectedUrl Obtient ou définit une valeur booléenne qui indique s'il faut encoder des paramètres de chaîne de requête sur une URL redirigée.
Propriété publique Encoding Obtient ou définit le format Encoding.
Propriété publique ExpectedHttpStatusCode Obtient ou définit le code d'état HTTP attendu pour cette requête.
Propriété publique ExpectedResponseUrl Obtient ou définit l'URL attendue de la réponse.Lorsqu'une redirection est attendue, cette URL peut différer de l'URL de la requête.
Propriété publique ExtractionRuleReferences Obtient la collection de références aux règles d'extraction définies pour la requête.
Propriété publique FollowRedirects Obtient ou définit une valeur qui indique s'il faut suivre automatiquement les redirections.
Propriété publique HasCookies Obtient une valeur qui indique si la requête possède des cookies.
Propriété publique HasDependentRequests Obtient une valeur qui indique si la requête possède des requêtes dépendantes.
Propriété publique HasHeaders Obtient une valeur qui indique si la requête possède des en-têtes HTTP.
Propriété publique HasQueryStringParameters Obtient une valeur qui indique si la requête possède des paramètres querystring.
Propriété publique Headers Obtient la collection d'en-têtes HTTP pour la requête.
Propriété publique IsRedirectFollow Obtient une valeur qui indique si la requête a été créée à la suite du suivi d'une redirection.
Propriété publique ItemId Numéro de séquence de base zéro de l'élément dans le test de performances Web. (Hérité de WebTestItem.)
Propriété publique Method Obtient ou définit la méthode à utiliser pour la requête.
Propriété publique Outcome Obtient ou définit le résultat Réussite ou Échec de la demande de test des performances Web.
Propriété publique ParseDependentRequests Obtient ou définit une valeur qui indique s'il faut extraire automatiquement les requêtes dépendantes trouvées dans le corps de réponse.
Propriété publique QueryStringParameters Obtient la liste de paramètres de chaîne de requête pour la requête.
Propriété publique RecordedCookies Obtient les cookies enregistrés avec la demande.
Propriété publique RecordResult Obtient ou définit une valeur qui indique si des statistiques individuelles et des données de résultats sont suivies pour cette requête.
Propriété publique ReportingName Obtient ou définit le nom du rapport pour une demande.
Propriété publique ResponseTimeGoal Obtient ou définit l'objectif de temps de réponse pour une page particulière.
Propriété publique SendChunked Obtient ou définit une valeur qui indique si l'utilisateur peut envoyer un corps de requête mémorisée en bloc.
Propriété publique ThinkTime Obtient ou définit une valeur qui représente la durée du temps de réflexion une fois la réponse reçue.
Propriété publique Timeout Obtient ou définit une valeur qui indique la durée d'attente pour cette requête.
Propriété publique Url Obtient ou définit l'URL pour la ressource utilisée pour la requête.
Propriété publique UrlWithQueryString Obtient l'URL vers la ressource qui est utilisée pour la requête.Cela inclut la chaîne de requête.
Propriété publique ValidationRuleReferences Obtient la collection de références aux règles de validation définies pour la requête.
Propriété publique Version Obtient ou définit la version HTTP de la requête.
Propriété publique WebTestRequestPluginReferences Obtient la collection de références aux plug-ins de requêtes de test de performances Web définis sur la requête.

Début

Méthodes

  Nom Description
Méthode publique Clone Effectue une copie complète de l'objet WebTestRequest. (Substitue WebTestItem.Clone().)
Méthode publique Equals Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique InternalSetOutcome Représente les résultats qui ont été définis en interne par RequestPlugin.
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publique RuntimeClone Retourne un clone de cet objet pendant l'opération. (Hérité de WebTestItem.)
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)

Début

Événements

  Nom Description
Événement public ExtractValues Se produit après l'événement ValidateResponse.
Événement public PostRequest Se produit après les événements ValidateResponse et ExtractValues.
Événement public PreRequest Se produit avant l'envoi de la requête.
Événement public PreRequestDataBinding Cet événement est déclenché avant que la liaison de données se produise.
Événement public ValidateResponse Se produit immédiatement après la réception de la réponse.
Événement public ValidateResponseOnPageComplete Cet événement est déclenché après que la page a été complètement chargé. Cela permet de vérifier la validité de la réponse.

Début

Notes

Cette classe fournit la fonctionnalité principale pour simuler des requêtes HTTP dans un test de performances de site Web codé. Les requêtes HTTP simulées sont retournées au moteur de test de performances Web par la méthode GetRequestEnumerator pour les tests de performances Web Visual C# et par la méthode Run qui est utilisée par ThreadedWebTest dans Visual Basic.

Cette classe est sérialisable.

Exemples

Le test de performances Web suivant extrait des valeurs qui représentent l'état de cases à cocher et ajoute les valeurs au contexte.

namespace TestProject1
{
    using System;
    using System.Collections.Generic;
    using Microsoft.VisualStudio.TestTools.WebTesting;
    using ClassLibrary2;

    public class MyWebTest : WebTest
    {
        public MyWebTest()
        {
            this.PreAuthenticate = true;
        }

        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest request1 = new WebTestRequest("https://localhost/ts");
            ExtractCheckBoxes rule1 = new ExtractCheckBoxes();
            rule1.FindCheckedBoxes = true;
            rule1.ContextParameterName = "CheckedBoxes";
            request1.ExtractValues += new EventHandler
                <ExtractionEventArgs>(rule1.Extract);
            ExtractCheckBoxes rule2 = new ExtractCheckBoxes();
            rule2.FindCheckedBoxes = false;
            rule2.ContextParameterName = "";
            request1.ExtractValues += new EventHandler
                <ExtractionEventArgs>(rule2.Extract);
            yield return request1;
        }
    }
}

L'exemple suivant est un test de performances Web encodé appelé MyCodedWebTest qui hérite de ThreadedWebTest. La deuxième demande publie les informations de formulaire qui sont contenues dans trois contrôles sur le serveur.

Option Strict Off
Option Explicit On

Imports Microsoft.VisualStudio.TestTools.WebTesting
Imports Microsoft.VisualStudio.TestTools.WebTesting.Rules
Imports System
Imports System.Collections.Generic

Namespace TestProject2
    
    Public Class MyCodedWebTest
        Inherits ThreadedWebTest
        
        Public Sub New()
            MyBase.New
            Me.PreAuthenticate = true
            // TODO: specify your proxy below
            Me.Proxy = "myproxy.seattle.corp.northwind.com:80"
        End Sub
        
        Public Overrides Sub Run()
            Dim request1 As WebTestRequest = New WebTestRequest _
                ("https://localhost/MyWebSite")
            request1.ThinkTime = 1
            Dim rule1 As ExtractHiddenFields = New ExtractHiddenFields
            rule1.ContextParameterName = "1"
            AddHandler request1.ExtractValues, AddressOf rule1.Extract
            MyBase.Send(request1)

            Dim request2 As WebTestRequest = New WebTestRequest _
                ("https://localhost/MyWebSite/Default.aspx")
            request2.Method = "POST"
            Dim request2Body As FormPostHttpBody = New FormPostHttpBody
            request2Body.FormPostParameters.Add("__VIEWSTATE", "{{$HIDDEN1" + _
                ".__VIEWSTATE}}")
            request2Body.FormPostParameters.Add("Button1", "Button")
            request2Body.FormPostParameters.Add("TextBox1", "Hello text")
            request2.Body = request2Body
            Dim rule2 As ExtractHiddenFields = New ExtractHiddenFields
            rule2.ContextParameterName = ""
            AddHandler request2.ExtractValues, AddressOf rule2.Extract
            MyBase.Send(request2)
        End Sub
    End Class
End Namespace

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.TestTools.WebTesting, espace de noms

Autres ressources

Working with Web Tests

Understanding Web Tests