Partilhar via


Classe WebTestRequest

Representa uma solicitação HTTP que é enviada a um servidor web.

Hierarquia de herança

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

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

Sintaxe

'Declaração
<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

O tipo WebTestRequest expõe os membros a seguir.

Construtores

  Nome Descrição
Método público WebTestRequest(String) Inicializa uma nova instância da classe de WebTestRequest usando uma cadeia de caracteres da URL.
Método público WebTestRequest(Uri) Inicializa uma nova instância da classe de WebTestRequest usando um objeto de Uri .

Superior

Propriedades

  Nome Descrição
Propriedade pública Body Obtém ou define o corpo da solicitação.
Propriedade pública BodyBytes Obtém os bytes que está associado com o corpo.
Propriedade pública Cache Obtém ou define um valor que indica se simular o cache do navegador para a solicitação.
Propriedade pública ClientCertificates Obtém ou define uma referência para permitir que os usuários autentiquem usando certificados X.509 SSL.
Propriedade pública ContentLength Obtém o tamanho, em bytes, do corpo da solicitação.
Propriedade pública ContentType Obtém o tipo de conteúdo da solicitação.
Propriedade pública Cookies Obtém uma coleção cookies.
Propriedade pública CorrelationExtractionRuleReferences Obtém a coleção de referências às regras de extração que são usadas para correlacionar parâmetros dinâmicos.
Propriedade pública DependentGuid
Propriedade pública DependentRequests Obtém a coleção de solicitações dependentes.
Propriedade pública EncodeRedirectedUrl Obtém ou define um valor Booleano que indica se o código parâmetros da cadeia de caracteres de consulta em uma URL redirecionado.
Propriedade pública Encoding Obtém ou define o formato de Encoding .
Propriedade pública ExpectedHttpStatusCode Obtém ou define o código de status HTTP que é esperado para a solicitação.
Propriedade pública ExpectedResponseUrl Obtém ou define o URL esperado de resposta.Quando um redirecionamento é esperada, este URL pode diferir da solicitação URL.
Propriedade pública ExtractionRuleReferences Obtém a coleção de referências às regras de extração que são definidas para a solicitação.
Propriedade pública FollowRedirects Obtém ou define um valor que indica se a seguir redirecione automaticamente.
Propriedade pública Guid
Propriedade pública HasCookies Obtém um valor que indica se a solicitação tem cookies.
Propriedade pública HasDependentRequests Obtém um valor que indica se a solicitação tem solicitações dependentes.
Propriedade pública HasHeaders Obtém um valor que indica se a solicitação tiver cabeçalhos HTTP.
Propriedade pública HasQueryStringParameters Obtém um valor que indica se a solicitação tem parâmetros querystring.
Propriedade pública Headers Obtém a coleção de cabeçalhos HTTP para a solicitação.
Propriedade pública IgnoreHttpStatusCode
Propriedade pública IsRedirectFollow Obtém um valor que indica se a solicitação foi criada como resultado de um redirecionamento seguir.
Propriedade pública ItemId Número de seqüência baseado em zero do item no desempenho da Web de teste. (Herdado de WebTestItem.)
Propriedade pública Method Obtém ou define o método para usar o para a solicitação.
Propriedade pública Outcome Obtém ou define o resultado de passagem ou de falha de solicitação de teste de desempenho da Web.
Propriedade pública ParseDependentRequests Obtém ou define um valor que indica se procurar automaticamente as solicitações que são dependentes encontradas no corpo de resposta.
Propriedade pública QueryStringParameters Obtém a lista de parâmetros da cadeia de caracteres de consulta para a solicitação.
Propriedade pública RecordedCookies Obtém os cookies que são registradas juntamente com a solicitação.
Propriedade pública RecordResult Obtém ou define um valor que indica se as estatísticas individuais e dados do resultado são controlados para a solicitação.
Propriedade pública ReportingName Obtém ou define o nome de relatório para uma solicitação.
Propriedade pública ResponseTimeGoal Obtém ou define o objetivo de tempo de resposta para uma página específica.
Propriedade pública SendChunked Obtém ou define um valor que indica se o usuário pode enviar um corpo chunked de solicitação.
Propriedade pública ThinkTime Obtém ou define um valor que representa o tempo de pensamento de espera após a resposta é recebida.
Propriedade pública Timeout Obtém ou define um valor que indica o tempo de espera a solicitação antes de cronometrar para fora.
Propriedade pública Url Obtém ou define o URL para o recurso que é usado para a solicitação.
Propriedade pública UrlWithQueryString Obtém o URL para o recurso que é usado para a solicitação.Isso inclui a cadeia de caracteres de consulta.
Propriedade pública ValidationRuleReferences Obtém a coleção de referências às regras de validação que são definidas para a solicitação.
Propriedade pública Version Obtém ou define a versão de solicitação HTTP.
Propriedade pública WebTestRequestPluginReferences Obtém a coleção de referências aos plug-ins de solicitação de teste de desempenho da Web que são definidos na solicitação.

Superior

Métodos

  Nome Descrição
Método público Clone Faz uma cópia profunda de WebTestRequest objeto. (Substitui WebTestItem.Clone().)
Método público Equals Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tentar liberar recursos e realizar outras operações de limpeza antes de ser recuperados pela coleta de lixo. (Herdado de Object.)
Método público GetHashCode Serve como uma função de hash para um tipo específico. (Herdado de Object.)
Método público GetType Obtém Type da instância atual. (Herdado de Object.)
Método público InternalSetOutcome Representa o resultado que foi definido internamente por RequestPlugin.
Método protegido MemberwiseClone Cria uma cópia superficial de Objectatual. (Herdado de Object.)
Método público RuntimeClone Retorna um clone desse objeto em tempo de execução. (Herdado de WebTestItem.)
Método público ToString Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.)

Superior

Eventos

  Nome Descrição
Evento público ExtractValues Ocorre após o evento de ValidateResponse .
Evento público PostRequest Ocorre após ValidateResponse e os eventos de ExtractValues .
Evento público PreRequest Ocorre antes que a solicitação seja enviada.
Evento público PreRequestDataBinding Este evento é gerado antes que a associação de dados ocorrer.
Evento público ValidateResponse Acontece imediatamente após a resposta é recebida.
Evento público ValidateResponseOnPageComplete Este evento é gerado após a página é totalmente carregada. Isso é usado para verificar se a resposta é válida.

Superior

Comentários

Essa classe fornece a funcionalidade principal para simular solicitações HTTP em um teste de desempenho codificado da Web.As solicitações HTTP simuladas são retornadas para o mecanismo de teste de desempenho da Web pelo método de GetRequestEnumerator para teste de desempenho de Visual C# Web e o método de Run que é usado por ThreadedWebTest em Visual Basic.

Essa classe é serializável.

Exemplos

O exemplo a seguir teste de desempenho da Web extrai os valores que representam as caixas de seleção e adiciona os valores ao contexto.

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

O exemplo a seguir é um teste de desempenho codificado MyCodedWebTest chamado da Web que herda de ThreadedWebTest.A segunda solicitação envia informações do formulário que está contida em três controles de volta para o servidor.

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.adatum.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

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.TestTools.WebTesting

Outros recursos

Working with Web Tests

Working with Web Tests Overview