WebTestRequest 类

表示将发送到 Web 服务器的 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) 使用 URL 字符串初始化 WebTestRequest 类的新实例。
公共方法 WebTestRequest(Uri) 使用 WebTestRequest 对象初始化 Uri 类的新实例。

页首

属性

  名称 说明
公共属性 Body 获取或设置此请求的正文。
公共属性 BodyBytes 获取与正文关联的字节。
公共属性 Cache 获取或设置一个值,该值指示是否模拟请求的浏览器缓存。
公共属性 ClientCertificates 获取或设置一个引用,以允许用户使用 X.509 SSL 证书进行身份验证。
公共属性 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 Web 性能测试中的项的从零开始的序列号。 (继承自 WebTestItem。)
公共属性 Method 获取或设置用于请求的方法。
公共属性 Outcome 获取或设置 Web 性能测试请求的“通过”或“未通过”结果。
公共属性 ParseDependentRequests 获取或设置一个值,该值指示是否自动获取在响应正文中找到的从属请求。
公共属性 QueryStringParameters 获取请求的查询字符串参数的列表。
公共属性 RecordedCookies 获取随请求一起记录的 cookie。
公共属性 RecordResult 获取或设置一个值,该值指示是否为此请求跟踪单个统计信息和结果数据。
公共属性 ReportingName 获取或设置请求的报告名称。
公共属性 ResponseTimeGoal 获取或设置特定页的响应时间目标。
公共属性 SendChunked 获取或设置一个值,该值指示用户是否可以发送分块请求正文。
公共属性 ThinkTime 获取或设置一个值,该值表示在接收到响应之后要等待的思考时间。
公共属性 Timeout 获取或设置一个值,此值指示超时前请求等待的时间。
公共属性 Url 获取或设置为请求使用的资源的 URL。
公共属性 UrlWithQueryString 获取用于此请求的资源的 URL。这包括查询字符串。
公共属性 ValidationRuleReferences 获取对一些验证规则的引用的集合,这些验证规则是为此请求定义的。
公共属性 Version 获取或设置请求的 HTTP 版本。
公共属性 WebTestRequestPluginReferences 获取对一些 Web 性能测试请求插件的引用的集合,这些插件是针对此请求定义的。

页首

方法

  名称 说明
公共方法 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 ValidateResponseExtractValues 事件后发生。
公共事件 PreRequest 在发送请求前发生。
公共事件 PreRequestDataBinding 数据绑定发生前,将引发此事件。
公共事件 ValidateResponse 在接收到响应后立即发生。
公共事件 ValidateResponseOnPageComplete 页面完全加载后,将引发此事件。这用于检查响应是否有效。

页首

备注

此选件类提供核心功能来模拟编码的web性能测试中的HTTP请求 模拟的HTTP请求返回对web用 Visual C# web的 GetRequestEnumerator 方法性能测试引擎使用 ThreadedWebTest 使用在 Visual Basic的 Run 方法性能测试和。

此类可以序列化。

示例

以下web性能测试显示复选框的状态提取值并将值添加到上下文。

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

下面是编码的web性能测试从Basic继承的调用MyCodedWebTest。 第二个请求将三个控件中包含的窗体信息回发到服务器。

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(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.TestTools.WebTesting 命名空间

其他资源

Working with Web Tests

Working with Web Tests Overview