Partilhar via


Classe WebTestRequest

Representa uma solicitação HTTP que será enviada para 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 de WebTestRequest classe usando uma seqüência de caracteres de URL.
Método público WebTestRequest(Uri) Inicializa uma nova instância de WebTestRequest classe usando um Uri objeto.

Início

Propriedades

  Nome Descrição
Propriedade pública Body Obtém ou define o corpo desta solicitação.
Propriedade pública BodyBytes Obtém os bytes que estão associados ao 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 sejam autenticados usando certificados x. 509 SSL.
Propriedade pública ContentLength Obtém o comprimento 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 de cookies.
Propriedade pública CorrelationExtractionRuleReferences Obtém a coleção de referências para as regras de extração são usadas para correlacionar os parâmetros dinâmicos.
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 deve codificar os parâmetros de seqüência de caracteres de consulta em uma URL redirecionada.
Propriedade pública Encoding Obtém ou define o Encoding formato.
Propriedade pública ExpectedHttpStatusCode Obtém ou define o código de status HTTP esperado para esta solicitação.
Propriedade pública ExpectedResponseUrl Obtém ou define o URL esperado da resposta.Quando um redirecionamento é esperado, esta URL pode diferir em URL de solicitação.
Propriedade pública ExtractionRuleReferences Obtém a coleção de referências para as regras de extração são definidas para a solicitação.
Propriedade pública FollowRedirects Obtém ou define um valor que indica se os redirecionamentos de seguem automaticamente.
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 tem 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 IsRedirectFollow Obtém um valor que indica se a solicitação foi criada como resultado de um redirecionamento a 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 a ser usado para a solicitação.
Propriedade pública Outcome Obtém ou define o resultado de Pass ou Fail da solicitação de teste de desempenho da Web.
Propriedade pública ParseDependentRequests Obtém ou define um valor que indica se as solicitações dependentes que são encontradas no corpo da resposta de busca automaticamente.
Propriedade pública QueryStringParameters Obtém a lista de parâmetros de seqüência de caracteres de consulta para a solicitação.
Propriedade pública RecordedCookies Obtém os cookies que é registrado junto com a solicitação.
Propriedade pública RecordResult Obtém ou define um valor que indica se as estatísticas individuais e os dados resultantes são controlados para esta 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 determinada página.
Propriedade pública SendChunked Obtém ou define um valor que indica se o usuário poderá enviar o corpo de uma solicitação fragmentada.
Propriedade pública ThinkTime Obtém ou define um valor que representa o tempo de reflexão para esperar a resposta é recebida.
Propriedade pública Timeout Obtém ou define um valor que indica o tempo de espera para esta solicitação antes do tempo limite.
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 seqüência de caracteres de consulta.
Propriedade pública ValidationRuleReferences Obtém a coleção de referências para as regras de validação são definidas para a solicitação.
Propriedade pública Version Obtém ou define a versão do HTTP da solicitação.
Propriedade pública WebTestRequestPluginReferences Obtém a coleção de referências para as Web desempenho teste solicitação plug-ins que estão definidos na solicitação.

Início

Métodos

  Nome Descrição
Método público Clone Faz uma cópia profunda da WebTestRequest objeto. (Substitui WebTestItem.Clone().)
Método público Equals Determina se o especificado Object é igual a atual Object. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele é recuperado pela coleta de lixo. (Herdado de Object.)
Método público GetHashCode Serves as a hash function for a particular type. (Herdado de Object.)
Método público GetType Obtém o Type da instância atual. (Herdado de Object.)
Método público InternalSetOutcome Representa o resultado que foram definido internamente pelo RequestPlugin.
Método protegido MemberwiseClone Cria uma cópia superficial do atual Object. (Herdado de Object.)
Método público RuntimeClone Retorna um clone do objeto em tempo de execução. (Herdado de WebTestItem.)
Método público ToString Retorna um string que representa o objeto atual. (Herdado de Object.)

Início

Eventos

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

Início

Comentários

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

Essa classe é serializável.

Exemplos

O teste de desempenho de Web a seguir extrai os valores que representam o status das caixas de seleção e adiciona os valores para o 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;
        }
    }
}

A seguir é um teste de desempenho da Web codificado, chamado MyCodedWebTest que herda de ThreadedWebTest. A segunda solicitação posta informações de formulário que estão contidas 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.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

Acesso thread-safe

Quaisquer membros static (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

Understanding Web Tests