Classe ValidationRule
Verifica se as solicitações retornem respostas HTTP válidos e que o conteúdo da resposta correspondem aos resultados esperados. Essa classe deve ser herdada.
Hierarquia de herança
Object
Microsoft.VisualStudio.TestTools.WebTesting.ValidationRule
Mais...
Namespace: Microsoft.VisualStudio.TestTools.WebTesting
Assembly: Microsoft.VisualStudio.QualityTools.WebTestFramework (em Microsoft.VisualStudio.QualityTools.WebTestFramework.dll)
Sintaxe
'Declaração
Public MustInherit Class ValidationRule
public abstract class ValidationRule
public ref class ValidationRule abstract
[<AbstractClass>]
type ValidationRule = class end
public abstract class ValidationRule
O tipo ValidationRule expõe os membros a seguir.
Construtores
Nome | Descrição | |
---|---|---|
![]() |
ValidationRule | Essa classe deve ser herdada.Não pode ser criada uma instância. |
Superior
Propriedades
Nome | Descrição | |
---|---|---|
![]() |
RuleDescription | Obsoleta. Obtém a descrição exibida na interface do usuário quando uma regra é selecionada. |
![]() |
RuleName | Obsoleta. Quando substituído em uma classe derivada, obtém o nome exibido na interface do usuário quando uma regra é selecionada ou mostrada no publicador. |
Superior
Métodos
Nome | Descrição | |
---|---|---|
![]() |
Equals | Determines whether the specified object is equal to the current object. (Herdado de Object.) |
![]() |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Herdado de Object.) |
![]() |
GetHashCode | Serves as the default hash function. (Herdado de Object.) |
![]() |
GetType | Gets the Type of the current instance. (Herdado de Object.) |
![]() |
MemberwiseClone | Creates a shallow copy of the current Object. (Herdado de Object.) |
![]() |
ToString | Returns a string that represents the current object. (Herdado de Object.) |
![]() |
Validate | Quando substituído em uma classe derivada, isso valida a solicitação e a resposta. |
Superior
Comentários
As regras usuário escritas da validação devem derivar dessa classe. As regras de validação são executadas imediatamente depois que a solicitação é concluída.
Observações para herdeiros
Quando você herda de ValidationRule, você deve substituir o método de Validate e a propriedade de RuleName .
Exemplos
O exemplo de código mostra como herdar de ValidationRule para fazer uma regra que valida a existência de scripts na página da 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
Acesso thread-safe
Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.
Consulte também
Referência
Namespace Microsoft.VisualStudio.TestTools.WebTesting
Outros recursos
[obsoleto] Como adicionar uma regra de validação a um teste de desempenho na Web
Codificando uma regra de validação personalizada para um teste de desempenho para Web
Hierarquia de herança
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