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 | |
---|---|---|
WebTestRequest(String) | Initialise une nouvelle instance de la classe WebTestRequest à l'aide d'une chaîne d'URL. | |
WebTestRequest(Uri) | Initialise une nouvelle instance de la classe WebTestRequest à l'aide d'un objet Uri. |
Début
Propriétés
Nom | Description | |
---|---|---|
Body | Obtient ou définit le corps de cette requête. | |
BodyBytes | Obtient les octets associés à ce corps. | |
Cache | Obtient ou définit une valeur qui indique s'il faut simuler la mise en cache du navigateur pour la requête. | |
ClientCertificates | Obtient ou définit une référence pour permettre aux utilisateurs d'authentifier l'utilisation de certificats X.509 SSL. | |
ContentLength | Obtient la longueur, en octets, du corps de la demande. | |
ContentType | Obtient le type de contenu de la demande. | |
Cookies | Obtient une collection de cookies. | |
CorrelationExtractionRuleReferences | Obtient la collection de références aux règles d'extraction utilisées pour faire correspondre les paramètres dynamiques. | |
DependentRequests | Obtient la collection de propriétés dépendantes. | |
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. | |
Encoding | Obtient ou définit le format Encoding. | |
ExpectedHttpStatusCode | Obtient ou définit le code d'état HTTP attendu pour cette requête. | |
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. | |
ExtractionRuleReferences | Obtient la collection de références aux règles d'extraction définies pour la requête. | |
FollowRedirects | Obtient ou définit une valeur qui indique s'il faut suivre automatiquement les redirections. | |
HasCookies | Obtient une valeur qui indique si la requête possède des cookies. | |
HasDependentRequests | Obtient une valeur qui indique si la requête possède des requêtes dépendantes. | |
HasHeaders | Obtient une valeur qui indique si la requête possède des en-têtes HTTP. | |
HasQueryStringParameters | Obtient une valeur qui indique si la requête possède des paramètres querystring. | |
Headers | Obtient la collection d'en-têtes HTTP pour la requête. | |
IsRedirectFollow | Obtient une valeur qui indique si la requête a été créée à la suite du suivi d'une redirection. | |
ItemId | Numéro de séquence de base zéro de l'élément dans le test de performances Web. (Hérité de WebTestItem.) | |
Method | Obtient ou définit la méthode à utiliser pour la requête. | |
Outcome | Obtient ou définit le résultat Réussite ou Échec de la demande de test des performances Web. | |
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. | |
QueryStringParameters | Obtient la liste de paramètres de chaîne de requête pour la requête. | |
RecordedCookies | Obtient les cookies enregistrés avec la demande. | |
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. | |
ReportingName | Obtient ou définit le nom du rapport pour une demande. | |
ResponseTimeGoal | Obtient ou définit l'objectif de temps de réponse pour une page particulière. | |
SendChunked | Obtient ou définit une valeur qui indique si l'utilisateur peut envoyer un corps de requête mémorisée en bloc. | |
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. | |
Timeout | Obtient ou définit une valeur qui indique la durée d'attente pour cette requête. | |
Url | Obtient ou définit l'URL pour la ressource utilisée pour la requête. | |
UrlWithQueryString | Obtient l'URL vers la ressource qui est utilisée pour la requête.Cela inclut la chaîne de requête. | |
ValidationRuleReferences | Obtient la collection de références aux règles de validation définies pour la requête. | |
Version | Obtient ou définit la version HTTP de la requête. | |
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 | |
---|---|---|
Clone | Effectue une copie complète de l'objet WebTestRequest. (Substitue WebTestItem.Clone().) | |
Equals | Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.) | |
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.) | |
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
InternalSetOutcome | Représente les résultats qui ont été définis en interne par RequestPlugin. | |
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) | |
RuntimeClone | Retourne un clone de cet objet pendant l'opération. (Hérité de WebTestItem.) | |
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
Début
Événements
Nom | Description | |
---|---|---|
ExtractValues | Se produit après l'événement ValidateResponse. | |
PostRequest | Se produit après les événements ValidateResponse et ExtractValues. | |
PreRequest | Se produit avant l'envoi de la requête. | |
PreRequestDataBinding | Cet événement est déclenché avant que la liaison de données se produise. | |
ValidateResponse | Se produit immédiatement après la réception de la réponse. | |
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