Condividi tramite


Classe WebTestRequest

Rappresenta una richiesta HTTP che verrà inviata a un server Web.

Gerarchia di ereditarietà

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

Spazio dei nomi:  Microsoft.VisualStudio.TestTools.WebTesting
Assembly:  Microsoft.VisualStudio.QualityTools.WebTestFramework (in Microsoft.VisualStudio.QualityTools.WebTestFramework.dll)

Sintassi

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

Il tipo WebTestRequest espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico WebTestRequest(String) Inizializza una nuova istanza della classe WebTestRequest utilizzando una stringa URL.
Metodo pubblico WebTestRequest(Uri) Inizializza una nuova istanza della classe WebTestRequest tramite un oggetto Uri.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica Body Ottiene o imposta il corpo di questa richiesta.
Proprietà pubblica BodyBytes Ottiene i byte che sono associati al corpo.
Proprietà pubblica Cache Ottiene o imposta un valore che indica se simulare la memorizzazione nella cache da parte del browser per la richiesta.
Proprietà pubblica ClientCertificates Ottiene o imposta un riferimento per consentire agli utenti di eseguire l'autentica utilizzando i certificati X.509 SSL.
Proprietà pubblica ContentLength Ottiene la lunghezza, in byte, del corpo della richiesta.
Proprietà pubblica ContentType Ottiene il tipo di contenuto della richiesta.
Proprietà pubblica Cookies Ottiene un insieme di cookie.
Proprietà pubblica CorrelationExtractionRuleReferences Ottiene l'insieme dei riferimenti a regole di estrazione utilizzate per correlare parametri dinamici.
Proprietà pubblica DependentRequests Ottiene l'insieme di richieste dipendenti.
Proprietà pubblica EncodeRedirectedUrl Ottiene o imposta un valore booleano che indica se codificare i parametri della stringa di query su un URL di reindirizzamento.
Proprietà pubblica Encoding Ottiene o imposta il formato Encoding.
Proprietà pubblica ExpectedHttpStatusCode Ottiene o imposta il codice di stato HTTP previsto per questa richiesta.
Proprietà pubblica ExpectedResponseUrl Ottiene o imposta l'URL previsto della risposta.Quando si prevede un reindirizzamento, questo URL potrebbe essere diverso dall'URL della richiesta.
Proprietà pubblica ExtractionRuleReferences Ottiene l'insieme dei riferimenti a regole di estrazione definite per la richiesta.
Proprietà pubblica FollowRedirects Ottiene o imposta un valore che indica se seguire automaticamente i reindirizzamenti.
Proprietà pubblica HasCookies Ottiene un valore che indica se la richiesta possiede dei cookie.
Proprietà pubblica HasDependentRequests Ottiene un valore che indica se la richiesta possiede richieste dipendenti.
Proprietà pubblica HasHeaders Ottiene un valore che indica se la richiesta possiede delle intestazioni HTTP.
Proprietà pubblica HasQueryStringParameters Ottiene un valore che indica se la richiesta possiede dei parametri Querystring.
Proprietà pubblica Headers Ottiene la raccolta delle intestazioni HTTP per la richiesta.
Proprietà pubblica IsRedirectFollow Ottiene un valore che indica se la richiesta è stata creata come risultato dell'attenersi a un reindirizzamento.
Proprietà pubblica ItemId Numero di sequenza in base zero dell'elemento nel test delle prestazioni Web. (Ereditato da WebTestItem)
Proprietà pubblica Method Ottiene o imposta il metodo da utilizzare per la richiesta.
Proprietà pubblica Outcome Ottiene o imposta il risultato positivo o negativo (Pass o Fail) della richiesta del test delle prestazioni Web.
Proprietà pubblica ParseDependentRequests Ottiene o imposta un valore che indica se recuperare automaticamente le richieste dipendenti rilevate nel corpo di risposta.
Proprietà pubblica QueryStringParameters Ottiene l'elenco dei parametri per la stringa di query per la richiesta.
Proprietà pubblica RecordedCookies Ottiene i cookie registrati insieme alla richiesta.
Proprietà pubblica RecordResult Ottiene o imposta un valore che indica se le statistiche individuali e i dati risultanti vengono rilevati per questa richiesta.
Proprietà pubblica ReportingName Ottiene o imposta il nome rapporto per una richiesta.
Proprietà pubblica ResponseTimeGoal Ottiene o imposta lo scopo del tempo di risposta per una determinata pagina.
Proprietà pubblica SendChunked Ottiene o imposta un valore che indica se l'utente può inviare un corpo della richiesta suddiviso.
Proprietà pubblica ThinkTime Ottiene o imposta un valore che rappresenta il tempo interazione utente di attesa dopo la ricezione della risposta.
Proprietà pubblica Timeout Ottiene o imposta un valore che indica tempo di attesa per questa richiesta prima del timeout.
Proprietà pubblica Url Ottiene o imposta l'URL nella risorsa che viene utilizzata per questa richiesta.
Proprietà pubblica UrlWithQueryString Ottiene l'URL della risorsa utilizzata per la richiesta.Include la stringa di query.
Proprietà pubblica ValidationRuleReferences Ottiene l'insieme dei riferimenti a regole di convalida definite per la richiesta.
Proprietà pubblica Version Ottiene o imposta la versione HTTP della richiesta.
Proprietà pubblica WebTestRequestPluginReferences Ottiene l'insieme dei riferimenti ai plug-in delle richieste di test delle prestazioni Web definiti nella richiesta.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Clone Esegue una copia profonda dell'oggetto WebTestRequest. (Esegue l'override di WebTestItem.Clone()).
Metodo pubblico Equals Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico InternalSetOutcome Rappresenta il risultato che è stato impostato internamente da RequestPlugin.
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico RuntimeClone Restituisce un clone di questo oggetto in fase di esecuzione. (Ereditato da WebTestItem)
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Eventi

  Nome Descrizione
Evento pubblico ExtractValues Si verifica dopo l'evento ValidateResponse.
Evento pubblico PostRequest Si verifica dopo l'evento ValidateResponse e ExtractValues.
Evento pubblico PreRequest Viene generato prima dell'invio della richiesta.
Evento pubblico PreRequestDataBinding Questo evento viene generato prima che l'associazione dati si verifichi.
Evento pubblico ValidateResponse Si verifica subito dopo la ricezione della risposta.
Evento pubblico ValidateResponseOnPageComplete Questo evento viene generato una volta che la pagina è completamente caricata e consente di verificare che la risposta sia stata valida.

In alto

Note

Questa classe fornisce la funzionalità di base per la simulazione delle richieste HTTP in un test delle prestazioni Web codificato. Le richieste HTTP simulate vengono restituite al motore di test delle prestazioni Web dal metodo GetRequestEnumerator per i test delle prestazioni Web Visual C# e dal metodo Run utilizzato da ThreadedWebTest in Visual Basic.

Tale classe è serializzabile.

Esempi

Nel test delle prestazioni Web riportato di seguito vengono estratti i valori che rappresentano lo stato delle caselle di controllo e vengono aggiunti i valori al contesto.

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

Di seguito viene riportato un test delle prestazioni Web codificato chiamato MyCodedWebTest che eredita da ThreadedWebTest. La seconda richiesta invia le informazioni dei form contenute nei tre controlli al server.

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

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.TestTools.WebTesting

Altre risorse

Working with Web Tests

Understanding Web Tests