Udostępnij za pośrednictwem


Klasa ValidationRule

Weryfikuje, że żądania zwrotu prawidłowe odpowiedzi HTTP oraz czy zawartość odpowiedzi pasują oczekiwanych wyników.Do tej klasy muszą być dziedziczone.

Hierarchia dziedziczenia

System.Object
  Microsoft.VisualStudio.TestTools.WebTesting.ValidationRule
    Więcej...

Przestrzeń nazw:  Microsoft.VisualStudio.TestTools.WebTesting
Zestaw:  Microsoft.VisualStudio.QualityTools.WebTestFramework (w Microsoft.VisualStudio.QualityTools.WebTestFramework.dll)

Składnia

'Deklaracja
Public MustInherit Class ValidationRule
public abstract class ValidationRule
public ref class ValidationRule abstract
[<AbstractClass>]
type ValidationRule =  class end
public abstract class ValidationRule

Typ ValidationRule uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda chroniona ValidationRule Do tej klasy muszą być dziedziczone.Nie mogą być utworzone.

Początek

Właściwości

  Nazwa Opis
Właściwość publiczna RuleDescription Przestarzałe. Pobiera opis wyświetlany w interfejsie użytkownika, gdy reguła jest zaznaczone.
Właściwość publiczna RuleName Przestarzałe. Gdy zastąpiony w klasie pochodnej, pobiera nazwę wyświetlaną w interfejsie użytkownika, gdy reguła jest zaznaczone lub wyświetlane w edytorze.

Początek

Metody

  Nazwa Opis
Metoda publiczna Equals Określa, czy określony obiekt jest równa bieżącego obiektu. (Odziedziczone z Object).
Metoda chroniona Finalize Umożliwia obiekt spróbuj zwolnić zasoby i wykonywania innych operacji oczyszczania, zanim jest odzyskane w procesie wyrzucania elementów bezużytecznych. (Odziedziczone z Object).
Metoda publiczna GetHashCode Służy jako funkcja mieszania dla określonego typu. (Odziedziczone z Object).
Metoda publiczna GetType Pobiera Type bieżącego wystąpienia. (Odziedziczone z Object).
Metoda chroniona MemberwiseClone Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object).
Metoda publiczna ToString Zwraca wartość typu ciąg, który reprezentuje bieżący obiekt. (Odziedziczone z Object).
Metoda publiczna Validate Zastąpiony w klasie pochodnej, to na sprawdza żądanie i odpowiedź.

Początek

Uwagi

Reguły poprawności napisane przez użytkownika musi pochodzić z tej klasy.Reguły sprawdzania poprawności są wykonywane tylko po zakończeniu żądania.

Uwagi dotyczące dziedziczenia

Kiedy dziedziczą z ValidationRule, należy zastąpić Validate metody i RuleName właściwości.

Przykłady

Poniższy przykład kodu pokazuje, jak dziedziczą z ValidationRule regułę, która sprawdza istnienie skrypty na stronie sieci Web.

using System;
using Microsoft.VisualStudio.TestTools.WebTesting;

namespace MyValidationRule
{
    public class ValidatePageContainsScript : ValidationRule
    {
        
        public override string RuleName
        {
            get { return "Validate Script Existence"; }
        }

        public override string RuleDescription
        {
            get { return "Validates that the page has a script."; }
        }

        public override void Validate(object sender, ValidationEventArgs e)
        {
            bool validated = false;
            string foundJS ="";
            string foundVBS = "";

            string message = "Non-valid HTML document";

            if (e.Response.HtmlDocument != null)
            {   // Gets all input tags
                foreach (HtmlTag tag in e.Response.HtmlDocument
                    .GetFilteredHtmlTags(new string[] { "script" }))
                {   // Check type of script for current tag
                    if (tag.GetAttributeValueAsString("type") == "text/JavaScript")
                        foundJS = "Found JavaScript";
                    if (tag.GetAttributeValueAsString("type") == "text/VBScript")
                        foundVBS = "Found VBScript";
                }

                if (foundVBS.Length != 0 || foundJS.Length != 0)
                {
                    validated = true;
                    message = string.Format("{0} {1}", foundJS, foundVBS);
                }
                else
                {
                   message = "No scripts in current page";
                }
            }
            e.IsValid = validated;
            e.Message = message;
        }
    }
}
Imports System
Imports Microsoft.VisualStudio.TestTools.WebTesting

Namespace MyValidationRule
    Public Class ValidatePageContainsScript
        Inherits ValidationRule

        Public Overrides ReadOnly Property RuleName() As String
            Get
                Return "Validate Script Existence"
            End Get
        End Property

        Public Overrides ReadOnly Property RuleDescription() As String
            Get
                Return "Validates that the page has a script"
            End Get
        End Property

        Public Overrides Sub Validate(ByVal sender As Object, _
            ByVal e As ValidationEventArgs)
            Dim validated As Boolean = False
            Dim foundJS As String = String.Empty
            Dim foundVBS As String = String.Empty
            Dim message As String = "Non-valid HTML document"

            If Not e.Response.HtmlDocument Is Nothing Then
                ' Get all input tags
                Dim tag As HtmlTag
                For Each tag In e.Response.HtmlDocument. _
                    GetFilteredHtmlTags(New String() {"script"})
                    ' Check type of script for current tag
                    If tag.GetAttributeValueAsString("type") = "text/JavaScript" _
                        Then
                        foundJS = "Found JavaScript"
                    End If
                    If tag.GetAttributeValueAsString("type") = "text/VBScript" _
                        Then
                        foundVBS = "Found VBScript"
                    End If
                Next

                If Not foundVBS.Length = 0 Or Not foundJS.Length = 0 Then
                    validated = True
                    message = String.Format("{0} {1}", foundJS, foundVBS)
                Else
                    message = "No scripts in current page."
                End If
            End If

            e.IsValid = validated
            e.Message = message

        End Sub
    End Class
End Namespace

Bezpieczeństwo wątku

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.TestTools.WebTesting

Inne zasoby

Jak: Dodawanie reguły sprawdzania poprawności do testu wydajności sieci Web

Jak: Tworzenie reguły sprawdzania poprawności niestandardowe dla testu wydajności sieci Web

Hierarchia dziedziczenia

System.Object
  Microsoft.VisualStudio.TestTools.WebTesting.ValidationRule
    Microsoft.VisualStudio.TestTools.WebTesting.Rules.SharePointValidationRuleFindText2
    Microsoft.VisualStudio.TestTools.WebTesting.Rules.SharePointValidationRuleResponseURL2
    Microsoft.VisualStudio.TestTools.WebTesting.Rules.ValidateFormField
    Microsoft.VisualStudio.TestTools.WebTesting.Rules.ValidateHtmlSelectTag
    Microsoft.VisualStudio.TestTools.WebTesting.Rules.ValidateHtmlTagInnerText
    Microsoft.VisualStudio.TestTools.WebTesting.Rules.ValidateResponseUrl
    Microsoft.VisualStudio.TestTools.WebTesting.Rules.ValidationRuleFindText
    Microsoft.VisualStudio.TestTools.WebTesting.Rules.ValidationRuleRequestTime
    Microsoft.VisualStudio.TestTools.WebTesting.Rules.ValidationRuleRequiredAttributeValue
    Microsoft.VisualStudio.TestTools.WebTesting.Rules.ValidationRuleRequiredTag
    Microsoft.VisualStudio.TestTools.WebTesting.Rules.ValidationRuleResponseTimeGoal