WebTest 类

所有 Web 性能测试的基类。 用 C# 编写的编码 Web 性能测试直接从该类派生。

继承层次结构

System.Object
  Microsoft.VisualStudio.TestTools.WebTesting.WebTest
    Microsoft.VisualStudio.TestTools.WebTesting.DeclarativeWebTest
    Microsoft.VisualStudio.TestTools.WebTesting.ThreadedWebTest

命名空间:  Microsoft.VisualStudio.TestTools.WebTesting
程序集:  Microsoft.VisualStudio.QualityTools.WebTestFramework(在 Microsoft.VisualStudio.QualityTools.WebTestFramework.dll 中)

语法

声明
<SerializableAttribute> _
Public MustInherit Class WebTest _
    Implements IEnumerable
[SerializableAttribute]
public abstract class WebTest : IEnumerable
[SerializableAttribute]
public ref class WebTest abstract : IEnumerable
[<AbstractClass>]
[<SerializableAttribute>]
type WebTest =  
    class
        interface IEnumerable
    end
public abstract class WebTest implements IEnumerable

WebTest 类型公开以下成员。

构造函数

  名称 说明
受保护的方法 WebTest 初始化从 WebTest 类派生的类的新实例。

页首

属性

  名称 说明
公共属性 Context 获取或设置一个对象,该对象包含 Web 性能测试在运行时可用的上下文变量。
公共属性 DataSources 获取为此 Web 性能测试定义的数据源的集合。
公共属性 Guid 获取或设置 GUID,用于唯一标识 WebTest 中的每个实例。
公共属性 InheritFromWebTest 当此 Web 性能测试包含在另一 Web 性能测试中并继承父 Web 测试的属性时,获取父 Web 性能测试的 WebTest 对象。
公共属性 LastRequestOutcome
公共属性 LastResponse 获取在该 Web 性能测试中为顶级请求接收的上一次响应。
公共属性 Name 获取测试用例的名称。
公共属性 Outcome 获取或设置 Web 性能测试求的“通过”或“未通过”结果。
公共属性 Password 获取和设置用于身份验证的密码。
公共属性 PreAuthenticate 获取或设置一个值,该值指示是否对 Web 性能测试内的所有请求进行预身份验证。
公共属性 Proxy 获取或设置一个值,该值表示 Web 性能测试要使用的代理服务器。
公共属性 RequestBodyCaptureLimit 获取或设置用于捕获请求数据的限制(以字节为单位)。
公共属性 ResponseBodyCaptureLimit 获取或设置用于捕获响应数据的限制(以字节为单位)。
公共属性 StopOnError 获取或设置是否应在出错时停止运行测试的指示。
公共属性 UserName 获取和设置用于身份验证的用户名。
公共属性 ValidationRuleReferences 获取对 Web 性能测试级验证规则的引用集合。
公共属性 WebProxy 获取或设置该 Web 性能测试要使用的 Web 代理。
公共属性 WebTestPluginReferences 获取对 Web 性能测试插件的引用集合。

页首

方法

  名称 说明
公共方法 AddCommentToResult 在最近完成的 Web 性能测试请求、事务或所包含的 Web 性能测试之后向 Web 性能测试结果添加注释。
公共方法 AddDataSource(String, String, DataBindingAccessMethod, array<String[]) 将数据源添加到 Web 性能测试所包含的数据集合。
公共方法 AddDataSource(String, String, String, DataBindingAccessMethod, array<String[]) 将数据源添加到 Web 性能测试所包含的数据集合。
公共方法 AddDataSource(String, String, String, DataBindingAccessMethod, DataBindingSelectColumns, array<String[])
公共方法 AddDataSourceBinding 定义绑定关系并将其添加到 Web 性能测试的数据源绑定集合。
公共方法 BeginCondition
公共方法 BeginLoop
公共方法 BeginTransaction 用给定的名称开始事务计时器。
公共方法 EndCondition
公共方法 EndLoop
公共方法 EndTransaction(String) 结束具有指定名称的事务计时器。
公共方法 EndTransaction(String, Boolean) 终止指定事务。
公共方法 Equals 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
公共方法 ExecuteConditionalRule
受保护的方法 Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法 GetDataTableRowCount
公共方法 GetEnumerator 获取枚举 Web 性能测试中的项的枚举数。
公共方法 GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
公共方法 GetRequestEnumerator 在派生类中重写时,返回支持对 WebTestRequest 的泛型集合进行简单迭代的 IEnumerator<T> 接口。
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法 IncludeWebTest(String) 从编码的 Web 性能测试中调用编码的 Web 性能测试。
公共方法 IncludeWebTest(WebTest) 从编码的 Web 性能测试中调用编码的 Web 性能测试。
公共方法 IncludeWebTest(String, Boolean) 从编码的 Web 性能测试中调用编码的 Web 性能测试。
公共方法 IncludeWebTest(WebTest, Boolean) 从编码的 Web 性能测试中调用编码的 Web 性能测试。
公共方法 InitializeDataBinding 将特性的数据源和数据绑定信息添加到当前实例。
公共方法 InternalSetOutcome
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法 MoveDataTableCursor(String, String) 使数据表中的游标前进到下一条记录。
公共方法 MoveDataTableCursor(String, String, Int32)
公共方法 RegisterDataSourceInLoop
公共方法 ReloadDataTable
公共方法 Stop 停止当前的 Web 性能测试。
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)

页首

事件

  名称 说明
公共事件 PostPage
公共事件 PostRequest 在该 Web 性能测试运行的每一个请求后发生。
公共事件 PostTransaction
公共事件 PostWebTest 在 Web 性能测试运行之后发生。
公共事件 PrePage
公共事件 PreRequest 在该 Web 性能测试运行的每一个请求前发生。
公共事件 PreRequestDataBinding
公共事件 PreTransaction
公共事件 PreWebTest 在 Web 性能测试运行之前发生。
公共事件 ValidateResponse 在对 Web 性能测试请求的响应已收到并且已准备好进行验证时发生。
公共事件 ValidateResponseOnPageComplete

页首

备注

若要创建编码的 Web 性能测试 Visual Basic 2005,请参见 ThreadedWebTest

有关 WebTest 类的实例的初始属性值列表,请参见 WebTest 构造函数。

有关如何在 Visual Studio 2005 Team System 之外运行测试的更多信息,请参见从命令行运行自动测试

此类可以序列化。

对继承者的说明

当从 WebTest 继承时,必须重写 GetRequestEnumerator

示例

下面的 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;
        }
    }
}

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.TestTools.WebTesting 命名空间

其他资源

Understanding Web Tests

Working with Web Tests

如何:创建编码的 Web 性能测试