次の方法で共有


ValidationRule.Validate メソッド

更新 : 2007 年 11 月

派生クラスでオーバーライドされている場合は、要求と応答の両方を検証します。

名前空間 :  Microsoft.VisualStudio.TestTools.WebTesting
アセンブリ :  Microsoft.VisualStudio.QualityTools.WebTestFramework (Microsoft.VisualStudio.QualityTools.WebTestFramework.dll 内)

構文

'宣言
Public MustOverride Sub Validate ( _
    sender As Object, _
    e As ValidationEventArgs _
)
'使用
Dim instance As ValidationRule
Dim sender As Object
Dim e As ValidationEventArgs

instance.Validate(sender, e)
public abstract void Validate(
    Object sender,
    ValidationEventArgs e
)
public:
virtual void Validate(
    Object^ sender, 
    ValidationEventArgs^ e
) abstract
public abstract function Validate(
    sender : Object, 
    e : ValidationEventArgs
)

パラメータ

解説

Validate は、テスト ケースのコンテキストおよびトランザクションのコンテキストで呼び出されます。これらのコンテキストを使用することにより、規則に従って要求と応答の両方をチェックし、要求された値とデータが一致することを確認できます。

Web ページにクライアント スクリプトが含まれるかどうかを検証する例を次に示します。

namespace TestProject1
{
    using System;
    using System.Collections.Generic;
    using Microsoft.VisualStudio.TestTools.WebTesting;
    using Microsoft.VisualStudio.TestTools.WebTesting.Rules;
    using MyValidationRule;

    public class MyCodedWebTest : WebTest
    {
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest request1 = new WebTestRequest
                ("https://localhost/MyWebSite");
            request1.ThinkTime = 13;
            ExtractHiddenFields rule1 = new ExtractHiddenFields();
            rule1.ContextParameterName = "1";
            request1.ExtractValues += new EventHandler<ExtractionEventArgs>
                (rule1.Extract);
            yield return request1;

            WebTestRequest request2 = new WebTestRequest
                ("https://localhost/MyWebSite/Default.aspx");
            request2.Method = "POST";
            FormPostHttpBody request2Body = new FormPostHttpBody();
            request2Body.FormPostParameters.Add("__VIEWSTATE",
                "{{$HIDDEN1.__VIEWSTATE}}");
            request2Body.FormPostParameters.Add("Button1", "Button");
            request2Body.FormPostParameters.Add("TextBox1",
                "Added Text in form");
            request2.Body = request2Body;
            ValidatePageContainsScript rule2 = new ValidatePageContainsScript();
            request2.ValidateResponse += new EventHandler<ValidationEventArgs>
                (rule2.Validate);
            yield return request2;
        }
    }
}
Option Strict Off
Option Explicit On

Imports Microsoft.VisualStudio.TestTools.WebTesting
Imports Microsoft.VisualStudio.TestTools.WebTesting.Rules
Imports MyVBProject.MyValidationRule
Imports System
Imports System.Collections.Generic

Namespace MyVBTestProject
    
    Public Class MyCodedWebTest
        Inherits ThreadedWebTest
        
        Public Sub New()
            MyBase.New
            Me.PreAuthenticate = true
            Me.Proxy = "myproxy.com:80"
        End Sub
        
        Public Overrides Sub Run()
            Dim request1 As WebTestRequest = New WebTestRequest _
                ("https://localhost/ts")
            request1.ThinkTime = 18
            Dim rule1 As ValidatePageContainsScript = New _
                ValidatePageContainsScript
            AddHandler request1.ValidateResponse, AddressOf rule1.Validate
            Dim rule2 As ExtractHiddenFields = New ExtractHiddenFields
            rule2.ContextParameterName = "1"
            AddHandler request1.ExtractValues, AddressOf rule2.Extract
            MyBase.Send(request1)
        End Sub
    End Class
End Namespace

アクセス許可

  • 直前の呼び出し元に対する完全な信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

参照

ValidationRule クラス

ValidationRule メンバ

Microsoft.VisualStudio.TestTools.WebTesting 名前空間