Compartir a través de


WebTestRequest (Clase)

Representa una solicitud HTTP que se enviará a un servidor Web.

Jerarquía de herencia

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

Espacio de nombres:  Microsoft.VisualStudio.TestTools.WebTesting
Ensamblado:  Microsoft.VisualStudio.QualityTools.WebTestFramework (en Microsoft.VisualStudio.QualityTools.WebTestFramework.dll)

Sintaxis

'Declaración
<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

El tipo WebTestRequest expone los siguientes miembros.

Constructores

  Nombre Descripción
Método público WebTestRequest(String) Inicializa una instancia nueva de la clase WebTestRequest utilizando una cadena de dirección URL.
Método público WebTestRequest(Uri) Inicializa una nueva instancia de la clase WebTestRequest usando un objeto Uri.

Arriba

Propiedades

  Nombre Descripción
Propiedad pública Body Obtiene o establece el cuerpo de esta solicitud.
Propiedad pública BodyBytes Obtiene los bytes asociados al cuerpo.
Propiedad pública Cache Obtiene o establece un valor que indica si se simula el almacenamiento en caché del explorador para la solicitud.
Propiedad pública ClientCertificates Obtiene o establece una referencia para permitir la autenticación de los usuarios utilizando certificados X.509 SSL.
Propiedad pública ContentLength Obtiene la longitud, en bytes, del cuerpo de la solicitud.
Propiedad pública ContentType Obtiene el tipo de contenido de la solicitud.
Propiedad pública Cookies Obtiene una colección de cookies.
Propiedad pública CorrelationExtractionRuleReferences Obtiene la colección de referencias a las reglas de extracción que se utilizan para poner en correlación los parámetros dinámicos.
Propiedad pública DependentRequests Obtiene la colección de solicitudes dependientes.
Propiedad pública EncodeRedirectedUrl Obtiene o establece un valor booleano que indica si codificar los parámetros de cadena de consulta de una dirección URL redirigida.
Propiedad pública Encoding Obtiene o establece el formato de Encoding.
Propiedad pública ExpectedHttpStatusCode Obtiene o establece el código de estado HTTP que se espera para esta solicitud.
Propiedad pública ExpectedResponseUrl Obtiene o establece la dirección URL esperada para la respuesta.Cuando se espera una redirección, esta dirección URL podría ser diferente de la dirección URL de la solicitud.
Propiedad pública ExtractionRuleReferences Obtiene la colección de referencias a las reglas de extracción que se definen para la solicitud.
Propiedad pública FollowRedirects Obtiene o establece un valor que indica si se deben seguir automáticamente las redirecciones.
Propiedad pública HasCookies Obtiene un valor que indica si la solicitud tiene cookies.
Propiedad pública HasDependentRequests Obtiene un valor que indica si la solicitud tiene solicitudes dependientes.
Propiedad pública HasHeaders Obtiene un valor que indica si la solicitud tiene encabezados HTTP.
Propiedad pública HasQueryStringParameters Obtiene un valor que indica si la solicitud tiene parámetros de cadena de consulta.
Propiedad pública Headers Obtiene la colección de encabezados HTTP para la solicitud.
Propiedad pública IsRedirectFollow Obtiene un valor que indica si la solicitud se creó como resultado de seguir una redirección.
Propiedad pública ItemId Número de secuencia de base cero del elemento dentro de la prueba de rendimiento web. (Se hereda de WebTestItem).
Propiedad pública Method Obtiene o establece el método que se utiliza para la solicitud.
Propiedad pública Outcome Obtiene o establece el resultado (Pass o Fail) de la solicitud de prueba de rendimiento web.
Propiedad pública ParseDependentRequests Obtiene o establece un valor que indica si se obtienen automáticamente las solicitudes dependientes que se encuentren en el cuerpo de la respuesta.
Propiedad pública QueryStringParameters Obtiene la lista de parámetros de cadena de consulta para la solicitud.
Propiedad pública RecordedCookies Obtiene las cookies que se graban junto con la solicitud.
Propiedad pública RecordResult Obtiene o establece un valor que indica si se realiza un seguimiento de los datos del resultado y estadísticas individuales para esta solicitud.
Propiedad pública ReportingName Obtiene o establece el nombre de informe para una solicitud.
Propiedad pública ResponseTimeGoal Obtiene o establece el tiempo de respuesta objetivo para una página determinada.
Propiedad pública SendChunked Obtiene o establece un valor que indica si el usuario puede enviar un cuerpo de solicitud fragmentado.
Propiedad pública ThinkTime Obtiene o establece un valor que representa el tiempo de reflexión que se espera después de recibir la respuesta.
Propiedad pública Timeout Obtiene o establece un valor que indica el periodo máximo de tiempo de espera para esta solicitud.
Propiedad pública Url Obtiene o establece la dirección URL del recurso que se utiliza para la solicitud.
Propiedad pública UrlWithQueryString Obtiene la dirección URL del recurso que se utiliza para la solicitud.Esto incluye la cadena de consulta.
Propiedad pública ValidationRuleReferences Obtiene la colección de referencias a las reglas de validación que se definen para la solicitud.
Propiedad pública Version Obtiene o establece la versión HTTP de esta solicitud.
Propiedad pública WebTestRequestPluginReferences Obtiene la colección de referencias a los complementos de solicitud de prueba de rendimiento web que se definen en la solicitud.

Arriba

Métodos

  Nombre Descripción
Método público Clone Crea una copia en profundidad de la configuración del objeto WebTestRequest. (Invalida a WebTestItem.Clone()).
Método público Equals Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido Finalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método público GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público InternalSetOutcome Representa el resultado que estableció internamente RequestPlugin.
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método público RuntimeClone Devuelve un clon de este objeto en tiempo de ejecución. (Se hereda de WebTestItem).
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).

Arriba

Eventos

  Nombre Descripción
Evento público ExtractValues Aparece después del evento ValidateResponse.
Evento público PostRequest Aparece después de los eventos ValidateResponse y ExtractValues.
Evento público PreRequest Aparece antes de que se envíe la solicitud.
Evento público PreRequestDataBinding Este evento se genera antes de que se produzca el enlace de datos.
Evento público ValidateResponse Aparece inmediatamente después de que se reciba la respuesta.
Evento público ValidateResponseOnPageComplete Este evento se genera una vez cargada la página por completo. Se usa para comprobar que la respuesta fue válida.

Arriba

Comentarios

Esta clase proporciona la funcionalidad básica para simular solicitudes HTTP en una prueba de rendimiento web codificada. El método GetRequestEnumerator para las pruebas de rendimiento web de Visual C# y el método Run que utiliza ThreadedWebTest en Visual Basic devuelven las solicitudes HTTP simuladas al motor de pruebas web.

Esta clase es serializable.

Ejemplos

La siguiente prueba de rendimiento web extrae valores que representan el estado de las casillas y agrega los valores al 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;
        }
    }
}

La prueba de rendimiento web codificada siguiente se llama MyCodedWebTest y hereda de ThreadedWebTest. La segunda solicitud expone en el servidor información de formulario de los tres controles.

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

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Vea también

Referencia

Microsoft.VisualStudio.TestTools.WebTesting (Espacio de nombres)

Otros recursos

Working with Web Tests

Understanding Web Tests