WebTestRequest-Klasse

Stellt eine HTTP-Anforderung dar, die an einen Webserver gesendet wird.

Vererbungshierarchie

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

Namespace:  Microsoft.VisualStudio.TestTools.WebTesting
Assembly:  Microsoft.VisualStudio.QualityTools.WebTestFramework (in Microsoft.VisualStudio.QualityTools.WebTestFramework.dll)

Syntax

'Declaration
<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

Der WebTestRequest-Typ macht die folgenden Member verfügbar.

Konstruktoren

  Name Beschreibung
Öffentliche Methode WebTestRequest(String) Initialisiert eine neue Instanz der WebTestRequest-Klasse mit einer URL-Zeichenfolge.
Öffentliche Methode WebTestRequest(Uri) Initialisiert eine neue Instanz der WebTestRequest-Klasse mit einem Uri-Objekt.

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft Body Ruft den Text dieser Anforderung ab oder legt ihn fest.
Öffentliche Eigenschaft BodyBytes Ruft die dem Text zugeordneten Bytes ab.
Öffentliche Eigenschaft Cache Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob für die Anforderung Browsercaching simuliert wird.
Öffentliche Eigenschaft ClientCertificates Ruft einen Verweis ab oder legt einen Verweis fest, durch den Benutzer X.509-SSL-Zertifikate zur Authentifizierung verwenden können.
Öffentliche Eigenschaft ContentLength Ruft die Länge des Anforderungstexts (in Bytes) ab.
Öffentliche Eigenschaft ContentType Ruft den Inhaltstyp der Anforderung ab.
Öffentliche Eigenschaft Cookies Ruft eine Auflistung von Cookies ab.
Öffentliche Eigenschaft CorrelationExtractionRuleReferences Ruft die Auflistung der Verweise auf Extraktionsregeln ab, die verwendet werden, um dynamische Parameter zu verknüpfen.
Öffentliche Eigenschaft DependentRequests Ruft die Auflistung abhängiger Anforderungen ab.
Öffentliche Eigenschaft EncodeRedirectedUrl Ruft einen booleschen Wert ab, der angibt, ob Abfragezeichenfolgenparameter für einen umgeleiteten URL codiert werden sollen, oder legt diesen fest.
Öffentliche Eigenschaft Encoding Ruft das Encoding-Format ab oder legt dieses fest.
Öffentliche Eigenschaft ExpectedHttpStatusCode Ruft den HTTP-Statuscode ab, der für diese Anforderung erwartet wird, oder legt diesen fest.
Öffentliche Eigenschaft ExpectedResponseUrl Ruft die erwartete URL der Antwort ab oder legt diese fest.Wenn eine Umleitung erwartet wird, könnte sich diese URL von der Anforderungs-URL unterscheiden.
Öffentliche Eigenschaft ExtractionRuleReferences Ruft die Auflistung der Verweise auf Extraktionsregeln ab, die für die Anforderung definiert sind.
Öffentliche Eigenschaft FollowRedirects Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob Umleitungen automatisch gefolgt wird.
Öffentliche Eigenschaft HasCookies Ruft einen Wert ab, der angibt, ob die Anforderung Cookies hat.
Öffentliche Eigenschaft HasDependentRequests Ruft einen Wert ab, der angibt, ob die Anforderung abhängige Anforderungen hat.
Öffentliche Eigenschaft HasHeaders Ruft einen Wert ab, der angibt, ob die Anforderung HTTP-Header hat.
Öffentliche Eigenschaft HasQueryStringParameters Ruft einen Wert ab, der angibt, ob die Anforderung Abfragezeichenfolgen-Parameter hat.
Öffentliche Eigenschaft Headers Ruft die Auflistung von HTTP-Headern für die Anforderung ab.
Öffentliche Eigenschaft IsRedirectFollow Ruft einen Wert ab, der angibt, ob die Anforderung als Resultat einer Umleitung erstellt wurde.
Öffentliche Eigenschaft ItemId Nullbasierte Sequenznummer des Elements im Webleistungstest. (Von WebTestItem geerbt.)
Öffentliche Eigenschaft Method Ruft die für die Anforderung zu verwendende Methode ab oder legt diese fest.
Öffentliche Eigenschaft Outcome Ruft den Erfolg oder Fehler der Webleistungstestanforderung ab oder legt sie fest.
Öffentliche Eigenschaft ParseDependentRequests Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob abhängige Anforderungen im Antworttext automatisch abgerufen werden.
Öffentliche Eigenschaft QueryStringParameters Ruft die Liste der Abfragezeichenfolgen-Parameter für die Anforderung ab.
Öffentliche Eigenschaft RecordedCookies Ruft die Cookies ab, die zusammen mit der Anforderung aufgezeichnet werden.
Öffentliche Eigenschaft RecordResult Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob für diese Anforderung individuelle Statistik- und Ergebnisdaten verfolgt werden.
Öffentliche Eigenschaft ReportingName Ruft den Berichtsnamen für eine Anforderung ab oder legt ihn fest.
Öffentliche Eigenschaft ResponseTimeGoal Ruft das Antwortzeitziel für eine bestimmte Seite ab oder legt dieses fest.
Öffentliche Eigenschaft SendChunked Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der Benutzer einen segmentierten Anforderungstext senden kann.
Öffentliche Eigenschaft ThinkTime Ruft einen Wert für die Reaktionszeit nach Empfang der Antwort ab oder legt diesen fest.
Öffentliche Eigenschaft Timeout Ruft einen Wert ab oder legt einen Wert fest, der die Wartezeit für diese Anforderung angibt, bevor das Zeitlimit überschritten ist.
Öffentliche Eigenschaft Url Ruft den für die Anforderung verwendeten URL der Ressource ab oder legt ihn fest.
Öffentliche Eigenschaft UrlWithQueryString Ruft die URL der für die Anforderung verwendeten Ressource ab.Dies schließt die Abfragezeichenfolge ein.
Öffentliche Eigenschaft ValidationRuleReferences Ruft die Auflistung der Verweise auf Validierungsregeln ab, die für die Anforderung definiert sind.
Öffentliche Eigenschaft Version Ruft die HTTP-Version der Anforderung ab oder legt diese fest.
Öffentliche Eigenschaft WebTestRequestPluginReferences Ruft die Auflistung der Verweise auf die Webleistungstestanforderungs-Plug-Ins ab, die in der Anforderung definiert sind.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode Clone Erstellt eine Tiefenkopie des WebTestRequest-Objekts. (Überschreibt WebTestItem.Clone().)
Öffentliche Methode Equals Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte Methode Finalize Ermöglicht es einem Objekt, zu versuchen, Ressourcen freizugeben und führt andere Bereinigungsvorgänge aus, bevor es von Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen besonderen Typ. (Von Object geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche Methode InternalSetOutcome Stellt das Ergebnis dar, das intern von RequestPlugin festgelegt wurde.
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode RuntimeClone Gibt einen Klon dieses Objekts zur Laufzeit zurück. (Von WebTestItem geerbt.)
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)

Zum Seitenanfang

Ereignisse

  Name Beschreibung
Öffentliches Ereignis ExtractValues Tritt nach dem ValidateResponse-Ereignis auf.
Öffentliches Ereignis PostRequest Tritt nach dem ValidateResponse-Ereignis und dem ExtractValues-Ereignis auf.
Öffentliches Ereignis PreRequest Tritt vor dem Senden der Anforderung auf.
Öffentliches Ereignis PreRequestDataBinding Dieses Ereignis wird ausgelöst, bevor die Datenbindung erfolgt.
Öffentliches Ereignis ValidateResponse Tritt unmittelbar nach Empfang der Antwort auf.
Öffentliches Ereignis ValidateResponseOnPageComplete Dieses Ereignis wird ausgelöst, nachdem die Seite vollständig geladen wurde. Dies wird verwendet, um zu überprüfen, ob die Antwort gültig war.

Zum Seitenanfang

Hinweise

Diese Klasse stellt die Kernfunktionen bereit, um HTTP-Anforderungen in einem codierten Webleistungstest zu simulieren. Die simulierten HTTP-Anforderungen werden für Visual C#-Webleistungstests von der GetRequestEnumerator-Methode an das Webleistungstestmodul zurückgegeben, sowie von der Run-Methode, die von ThreadedWebTest in Visual Basic verwendet wird.

Diese Klasse kann serialisiert werden.

Beispiele

Der folgende Webleistungstest extrahiert Werte, die den Status von Kontrollkästchen darstellen, und fügt die Werte dem Kontext hinzu.

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;
        }
    }
}

Im folgenden Beispiel wurde ein codierter Webleistungstest mit der Bezeichnung MyCodedWebTest erstellt, der von ThreadedWebTest erbt. Die zweite Anforderung bewirkt, dass dem Server Formularinformationen bereitgestellt werden, die in drei Steuerelementen enthalten sind.

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

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

Microsoft.VisualStudio.TestTools.WebTesting-Namespace

Weitere Ressourcen

Working with Web Tests

Understanding Web Tests