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 | |
---|---|---|
WebTestRequest(String) | Initialisiert eine neue Instanz der WebTestRequest-Klasse mit einer URL-Zeichenfolge. | |
WebTestRequest(Uri) | Initialisiert eine neue Instanz der WebTestRequest-Klasse mit einem Uri-Objekt. |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
Body | Ruft den Text dieser Anforderung ab oder legt ihn fest. | |
BodyBytes | Ruft die dem Text zugeordneten Bytes ab. | |
Cache | Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob für die Anforderung Browsercaching simuliert wird. | |
ClientCertificates | Ruft einen Verweis ab oder legt einen Verweis fest, durch den Benutzer X.509-SSL-Zertifikate zur Authentifizierung verwenden können. | |
ContentLength | Ruft die Länge des Anforderungstexts (in Bytes) ab. | |
ContentType | Ruft den Inhaltstyp der Anforderung ab. | |
Cookies | Ruft eine Auflistung von Cookies ab. | |
CorrelationExtractionRuleReferences | Ruft die Auflistung der Verweise auf Extraktionsregeln ab, die verwendet werden, um dynamische Parameter zu verknüpfen. | |
DependentRequests | Ruft die Auflistung abhängiger Anforderungen ab. | |
EncodeRedirectedUrl | Ruft einen booleschen Wert ab, der angibt, ob Abfragezeichenfolgenparameter für einen umgeleiteten URL codiert werden sollen, oder legt diesen fest. | |
Encoding | Ruft das Encoding-Format ab oder legt dieses fest. | |
ExpectedHttpStatusCode | Ruft den HTTP-Statuscode ab, der für diese Anforderung erwartet wird, oder legt diesen fest. | |
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. | |
ExtractionRuleReferences | Ruft die Auflistung der Verweise auf Extraktionsregeln ab, die für die Anforderung definiert sind. | |
FollowRedirects | Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob Umleitungen automatisch gefolgt wird. | |
HasCookies | Ruft einen Wert ab, der angibt, ob die Anforderung Cookies hat. | |
HasDependentRequests | Ruft einen Wert ab, der angibt, ob die Anforderung abhängige Anforderungen hat. | |
HasHeaders | Ruft einen Wert ab, der angibt, ob die Anforderung HTTP-Header hat. | |
HasQueryStringParameters | Ruft einen Wert ab, der angibt, ob die Anforderung Abfragezeichenfolgen-Parameter hat. | |
Headers | Ruft die Auflistung von HTTP-Headern für die Anforderung ab. | |
IsRedirectFollow | Ruft einen Wert ab, der angibt, ob die Anforderung als Resultat einer Umleitung erstellt wurde. | |
ItemId | Nullbasierte Sequenznummer des Elements im Webleistungstest. (Von WebTestItem geerbt.) | |
Method | Ruft die für die Anforderung zu verwendende Methode ab oder legt diese fest. | |
Outcome | Ruft den Erfolg oder Fehler der Webleistungstestanforderung ab oder legt sie fest. | |
ParseDependentRequests | Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob abhängige Anforderungen im Antworttext automatisch abgerufen werden. | |
QueryStringParameters | Ruft die Liste der Abfragezeichenfolgen-Parameter für die Anforderung ab. | |
RecordedCookies | Ruft die Cookies ab, die zusammen mit der Anforderung aufgezeichnet werden. | |
RecordResult | Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob für diese Anforderung individuelle Statistik- und Ergebnisdaten verfolgt werden. | |
ReportingName | Ruft den Berichtsnamen für eine Anforderung ab oder legt ihn fest. | |
ResponseTimeGoal | Ruft das Antwortzeitziel für eine bestimmte Seite ab oder legt dieses fest. | |
SendChunked | Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der Benutzer einen segmentierten Anforderungstext senden kann. | |
ThinkTime | Ruft einen Wert für die Reaktionszeit nach Empfang der Antwort ab oder legt diesen fest. | |
Timeout | Ruft einen Wert ab oder legt einen Wert fest, der die Wartezeit für diese Anforderung angibt, bevor das Zeitlimit überschritten ist. | |
Url | Ruft den für die Anforderung verwendeten URL der Ressource ab oder legt ihn fest. | |
UrlWithQueryString | Ruft die URL der für die Anforderung verwendeten Ressource ab.Dies schließt die Abfragezeichenfolge ein. | |
ValidationRuleReferences | Ruft die Auflistung der Verweise auf Validierungsregeln ab, die für die Anforderung definiert sind. | |
Version | Ruft die HTTP-Version der Anforderung ab oder legt diese fest. | |
WebTestRequestPluginReferences | Ruft die Auflistung der Verweise auf die Webleistungstestanforderungs-Plug-Ins ab, die in der Anforderung definiert sind. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
Clone | Erstellt eine Tiefenkopie des WebTestRequest-Objekts. (Überschreibt WebTestItem.Clone().) | |
Equals | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) | |
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.) | |
GetHashCode | Fungiert als Hashfunktion für einen besonderen Typ. (Von Object geerbt.) | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
InternalSetOutcome | Stellt das Ergebnis dar, das intern von RequestPlugin festgelegt wurde. | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
RuntimeClone | Gibt einen Klon dieses Objekts zur Laufzeit zurück. (Von WebTestItem geerbt.) | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
Zum Seitenanfang
Ereignisse
Name | Beschreibung | |
---|---|---|
ExtractValues | Tritt nach dem ValidateResponse-Ereignis auf. | |
PostRequest | Tritt nach dem ValidateResponse-Ereignis und dem ExtractValues-Ereignis auf. | |
PreRequest | Tritt vor dem Senden der Anforderung auf. | |
PreRequestDataBinding | Dieses Ereignis wird ausgelöst, bevor die Datenbindung erfolgt. | |
ValidateResponse | Tritt unmittelbar nach Empfang der Antwort auf. | |
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