Поделиться через


WebTestRequest - класс

Представление HTTP-запроса, который будет отправлен на веб-сервер.

Иерархия наследования

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

Пространство имен:  Microsoft.VisualStudio.TestTools.WebTesting
Сборка:  Microsoft.VisualStudio.QualityTools.WebTestFramework (в Microsoft.VisualStudio.QualityTools.WebTestFramework.dll)

Синтаксис

'Декларация
<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

Тип WebTestRequest предоставляет следующие члены.

Конструкторы

  Имя Описание
Открытый метод WebTestRequest(String) Инициализирует новый экземпляр класса WebTestRequest с помощью строки URL-адреса.
Открытый метод WebTestRequest(Uri) Инициализирует новый экземпляр класса WebTestRequest с помощью объекта Uri.

В начало страницы

Свойства

  Имя Описание
Открытое свойство Body Возвращает или задает тело этого запроса.
Открытое свойство BodyBytes Получает байты, связанные с основной частью.
Открытое свойство Cache Возвращает или задает значение, которое указывает, следует ли моделировать для запроса кэширование браузера.
Открытое свойство ClientCertificates Получает или задает ссылку, позволяющую пользователям выполнять проверку подлинности с помощью SSL-сертификатов X.509.
Открытое свойство ContentLength Получает длину текста запроса в байтах.
Открытое свойство ContentType Получает тип содержимого запроса.
Открытое свойство Cookies Возвращает коллекцию файлов Cookie.
Открытое свойство CorrelationExtractionRuleReferences Возвращает коллекцию ссылок на правила извлечения, которые используются для сопоставления динамических параметров.
Открытое свойство DependentGuid
Открытое свойство DependentRequests Возвращает коллекцию зависимых запросов.
Открытое свойство EncodeRedirectedUrl Получает или задает логическое значение, указывающее, нужно ли кодировать параметры строки запроса на перенаправленном URL-адресе.
Открытое свойство Encoding Возвращает или задает формат кодировки Encoding.
Открытое свойство ExpectedHttpStatusCode Возвращает или задает ожидаемый код состояния HTTP этого запроса.
Открытое свойство ExpectedResponseUrl Возвращает или задает ожидаемый URL-адрес ответа.Если ожидается перенаправление, то этот URL-адрес может отличаться от URL-адреса запроса.
Открытое свойство ExtractionRuleReferences Возвращает коллекцию ссылок на правила извлечения, заданные для запроса.
Открытое свойство FollowRedirects Возвращает или задает значение, которое указывает, нужно ли автоматически следовать перенаправлениям.
Открытое свойство Guid
Открытое свойство HasCookies Возвращает значение, которое указывает, содержит ли запрос файлы Cookie.
Открытое свойство HasDependentRequests Возвращает значение, которое указывает, имеет ли запрос зависимые запросы.
Открытое свойство HasHeaders Возвращает значение, которое указывает, содержит ли запрос заголовки HTTP.
Открытое свойство HasQueryStringParameters Возвращает значение, которое указывает, содержит ли запрос параметры строки запроса.
Открытое свойство Headers Возвращает коллекцию заголовков HTTP, соответствующих запросу.
Открытое свойство IgnoreHttpStatusCode
Открытое свойство IsRedirectFollow Возвращает значение, которое указывает, был ли запрос создан в результате следования перенаправлению.
Открытое свойство ItemId Отсчитываемый от нуля последовательный номер элемента в веб-тесте производительности. (Унаследовано от WebTestItem.)
Открытое свойство Method Возвращает или задает метод запроса.
Открытое свойство Outcome Получает или задает положительный или отрицательный результат запроса веб-теста производительности.
Открытое свойство ParseDependentRequests Получает или задает значение, указывающее, нужно ли автоматически получать зависимые запросы, найденные в теле ответа.
Открытое свойство QueryStringParameters Возвращает список параметров строки запроса для этого запроса.
Открытое свойство RecordedCookies Получает файлы Cookie, записанные вместе с запросом.
Открытое свойство RecordResult Возвращает или задает значение, которое указывает, будут ли вестись отдельные статистические и итоговые данные для этого запроса.
Открытое свойство ReportingName Получает или задает имя отчета для запроса.
Открытое свойство ResponseTimeGoal Возвращает или задает целевое время отклика для определенной страницы.
Открытое свойство SendChunked Возвращает или задает значение, которое указывает, имеет ли пользователь право отправлять фрагментированное тело запроса.
Открытое свойство ThinkTime Получает или задает значение, представляющее время обработки, проходящее после получения ответа.
Открытое свойство Timeout Получает или задает значение, указывающее время ожидания завершения этого запроса.
Открытое свойство Url Получает или задает URL-адрес ресурса, который используется для запроса.
Открытое свойство UrlWithQueryString Получает URL-адрес ресурса, используемого для запроса.Сюда относится строка запроса.
Открытое свойство ValidationRuleReferences Возвращает коллекцию ссылок на правила проверки, заданные для запроса.
Открытое свойство Version Возвращает или задает версию протокола HTTP, используемого в запросе.
Открытое свойство WebTestRequestPluginReferences Получает коллекцию ссылок на подключаемые модули запроса веб-теста производительности, указанные для запроса.

В начало страницы

Методы

  Имя Описание
Открытый метод Clone Создает глубокую копию объекта WebTestRequest. (Переопределяет WebTestItem.Clone().)
Открытый метод Equals Определяет, равен ли заданный объект текущему объекту. (Унаследовано от Object.)
Защищенный метод Finalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)
Открытый метод GetHashCode Играет роль хэш-функции для определенного типа. (Унаследовано от Object.)
Открытый метод GetType Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Открытый метод InternalSetOutcome Представляет результат, кот был установлен внутри с помощью RequestPlugin.
Защищенный метод MemberwiseClone Создает неполную копию текущего объекта Object. (Унаследовано от Object.)
Открытый метод RuntimeClone Возвращает Клон данного объекта во время выполнения. (Унаследовано от WebTestItem.)
Открытый метод ToString Возвращает строку, представляющую текущий объект. (Унаследовано от Object.)

В начало страницы

События

  Имя Описание
Открытое событие ExtractValues Происходит после события ValidateResponse.
Открытое событие PostRequest Происходит после событий ValidateResponse и ExtractValues.
Открытое событие PreRequest Происходит перед отправкой запроса.
Открытое событие PreRequestDataBinding Это событие возникает перед привязкой данных.
Открытое событие ValidateResponse Происходит сразу после получения ответа.
Открытое событие ValidateResponseOnPageComplete Это событие возникает после полной загрузки страницы. Это используется для проверки, что ответ был действительным.

В начало страницы

Заметки

Этот класс предоставляет основные функциональные возможности для имитации HTTP-запроса в закодированном тесте производительности Интернета.Сымитированные HTTP-запроса возвращаются обработчику тестов производительности Интернета методом GetRequestEnumerator для тестов производительности Интернета Visual C# и методом Run, который используется ThreadedWebTest в Visual Basic.

Этот класс является сериализуемым.

Примеры

Следующий тест производительности Интернета извлекает значения, представляющие состояние флажков и добавляет значения в контекст.

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

Следующее закодированного устройств с именем MyCodedWebTest тестом производительности, который наследует от ThreadedWebTest.Второй запрос возвращает на сервер сведения формы, которые содержатся в трех элементах управления.

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

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

Microsoft.VisualStudio.TestTools.WebTesting - пространство имен

Другие ресурсы

Working with Web Tests

Working with Web Tests Overview