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) | URL 문자열을 사용하여 WebTestRequest 클래스의 새 인스턴스를 초기화합니다. | |
WebTestRequest(Uri) | WebTestRequest 개체를 사용하여 Uri 클래스의 새 인스턴스를 초기화합니다. |
위쪽
속성
이름 | 설명 | |
---|---|---|
Body | 이 요청의 본문을 가져오거나 설정합니다. | |
BodyBytes | 본문과 관련된 바이트 수를 가져옵니다. | |
Cache | 요청에 대한 브라우저 캐싱을 시뮬레이션할지 여부를 나타내는 값을 가져오거나 설정합니다. | |
ClientCertificates | X.509 SSL 인증서로 사용자를 인증할 수 있도록 하는 참조를 가져오거나 설정합니다. | |
ContentLength | 요청 본문의 길이(바이트)를 가져옵니다. | |
ContentType | 요청의 콘텐츠 형식을 가져옵니다. | |
Cookies | 쿠키의 컬렉션을 가져옵니다. | |
CorrelationExtractionRuleReferences | 동적 매개 변수를 연관짓는 데 사용되는 추출 규칙에 대한 참조의 컬렉션을 가져옵니다. | |
DependentGuid | ||
DependentRequests | 종속된 요청의 컬렉션을 가져옵니다. | |
EncodeRedirectedUrl | 리디렉션된 URL에서 쿼리 문자열 매개 변수를 인코딩할지 여부를 나타내는 부울 값을 가져오거나 설정합니다. | |
Encoding | Encoding 형식을 가져오거나 설정합니다. | |
ExpectedHttpStatusCode | 이 요청에서 예상되는 HTTP 상태 코드를 가져오거나 설정합니다. | |
ExpectedResponseUrl | 응답의 예상 URL을 가져오거나 설정합니다.리디렉션이 예상되는 경우 이 URL은 요청 URL과 다를 수 있습니다. | |
ExtractionRuleReferences | 요청에 정의된 추출 규칙에 대한 참조의 컬렉션을 가져옵니다. | |
FollowRedirects | 자동으로 리디렉션되는지 여부를 나타내는 값을 가져오거나 설정합니다. | |
Guid | ||
HasCookies | 요청에 쿠키가 있는지 여부를 나타내는 값을 가져옵니다. | |
HasDependentRequests | 요청에 종속된 요청이 있는지 여부를 나타내는 값을 가져옵니다. | |
HasHeaders | 요청에 HTTP 헤더가 있는지 여부를 나타내는 값을 가져옵니다. | |
HasQueryStringParameters | 요청에 QueryString 매개 변수가 있는지 여부를 나타내는 값을 가져옵니다. | |
Headers | 요청에 대한 HTTP 헤더의 컬렉션을 가져옵니다. | |
IgnoreHttpStatusCode | ||
IsRedirectFollow | 리디렉션 결과로 요청이 작성되었는지 여부를 나타내는 값을 가져옵니다. | |
ItemId | 웹 성능 테스트에서 항목의 시퀀스 번호(0부터 시작)입니다. (WebTestItem에서 상속됨) | |
Method | 요청에 사용할 메서드를 가져오거나 설정합니다. | |
Outcome | 웹 성능 테스트 요청의 결과(Pass 또는 Fail)를 가져오거나 설정합니다. | |
ParseDependentRequests | 응답 본문에서 찾은 종속 요청을 자동으로 페치할지 여부를 나타내는 값을 가져오거나 설정합니다. | |
QueryStringParameters | 요청에 대한 쿼리 문자열 매개 변수의 목록을 가져옵니다. | |
RecordedCookies | 요청과 함께 기록된 쿠키를 가져옵니다. | |
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.
이 클래스는 serialize할 수 있습니다.
예제
다음 웹 성능 테스트 확인란의 상태를 나타내는 값을 추출 하 고 값을 컨텍스트에 추가 합니다.
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;
}
}
}
다음은 Threadedwebtest에서 상속 되는 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 네임스페이스