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 | 在 ValidateResponse 和 ExtractValues 事件后发生。 | |
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 命名空间