Classe ExtractionRule
Classe base usada para definir regras para obter dados de uma resposta Web que é gerada por um teste de desempenho da Web.
Hierarquia de herança
Object
Microsoft.VisualStudio.TestTools.WebTesting.ExtractionRule
Mais...
Namespace: Microsoft.VisualStudio.TestTools.WebTesting
Assembly: Microsoft.VisualStudio.QualityTools.WebTestFramework (em Microsoft.VisualStudio.QualityTools.WebTestFramework.dll)
Sintaxe
'Declaração
Public MustInherit Class ExtractionRule
public abstract class ExtractionRule
public ref class ExtractionRule abstract
[<AbstractClass>]
type ExtractionRule = class end
public abstract class ExtractionRule
O tipo ExtractionRule expõe os membros a seguir.
Construtores
Nome | Descrição | |
---|---|---|
![]() |
ExtractionRule | Inicializa uma nova instância da classe ExtractionRule. |
Superior
Propriedades
Nome | Descrição | |
---|---|---|
![]() |
ContextParameterName | Obtém ou define o nome do contexto da propriedade extraída. |
![]() |
RuleDescription | Obsoleta. Esse método é usado.Use DisplayNameAttribute na classe para definir uma descrição para a regra. |
![]() |
RuleName | Obsoleta. Esse método é usado.Use DisplayNameAttribute na classe para definir um nome para exibição para a regra. |
Superior
Métodos
Nome | Descrição | |
---|---|---|
![]() |
Equals | Determines whether the specified object is equal to the current object. (Herdado de Object.) |
![]() |
Extract | Quando substituído em uma classe derivada, esse método extrai informações de HtmlDocument e a colocará em WebTestContext. |
![]() |
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.) |
Superior
Comentários
A classe de ExtractionRule deve ser herdada por qualquer regra de extração se o usuário é gravada ou internas. As regras de extração que são associadas com a definição de solicitação são executadas depois que uma resposta foi recebida, e os resultados da extração são adicionadas a WebTestContext.
Observações para herdeiros
Quando você herda de ExtractionRule, você deve substituir os seguintes membros: Extract, RuleDescription, e RuleName.
Exemplos
A seguinte regra personalizada de extração extrai caixas de seleção de HtmlDocument e coloca o status das caixas de seleção localizada no contexto.
using System;
using Microsoft.VisualStudio.TestTools.WebTesting;
namespace ClassLibrary2
{
public class ExtractCheckBoxes : ExtractionRule
{
private string myContextParameter = "ExtractCBoxParam";
private bool isChecked = true;
public override string ContextParameterName
{
get { return myContextParameter; }
set
{
if (value != string.Empty)
myContextParameter = value;
}
}
public bool FindCheckedBoxes
{
get { return isChecked; }
set { isChecked = value; }
}
public override string RuleName
{
get { return "Extract Check Boxes"; }
}
public override string RuleDescription
{
get { return "Extract check boxes based on whether they are" +
" checked or not."; }
}
public override void Extract(object sender, ExtractionEventArgs e)
{
e.Success = false;
if (e.Response.HtmlDocument != null)
{ // Gets all input tags
foreach (HtmlTag tag in e.Response.HtmlDocument
.GetFilteredHtmlTags(new string[] { "input" }))
{ // Verify that current tag is a checkbox
if (tag.GetAttributeValueAsString("type") == "checkbox")
{ // Is the checkbox checked
if (tag.GetAttributeValueAsString("checked") == "CHECKED")
{ // Add checked check boxes to context
if (isChecked)
{
e.WebTest.Context.Add(myContextParameter + "_" +
tag.GetAttributeValueAsString("id"),
"Is Checked");
e.Success = true;
}
}
else // The checkbox is not checked
{ // Add non-checked boxes to context
if (!isChecked)
{
e.WebTest.Context.Add(myContextParameter + "_" +
tag.GetAttributeValueAsString("id"),
"Is Not Checked");
e.Success = true;
}
}
}
}
}
if (e.Success)
e.Message = "Extracted check boxes.";
else
e.Message = "No check boxes extracted.";
}
}
}
Imports System
Imports Microsoft.VisualStudio.TestTools.WebTesting
Namespace ClassLibrary2
Public Class ExtractCheckBoxes
Inherits ExtractionRule
Private myContextParameter As String = "ExtractCBoxParam"
Private isChecked As Boolean = True
Public Overrides Property ContextParameterName() As String
Get
Return myContextParameter
End Get
Set(ByVal value As String)
If (value <> String.Empty) Then
myContextParameter = value
End If
End Set
End Property
Public Property FindCheckedBoxes() As Boolean
Get
Return isChecked
End Get
Set(ByVal value As Boolean)
isChecked = value
End Set
End Property
Public Overrides ReadOnly Property RuleName() As String
Get
Return "Extract Check Boxes"
End Get
End Property
Public Overrides ReadOnly Property RuleDescription() As String
Get
Return "Extract check boxes based on whether they are" + _
" checked or not."
End Get
End Property
Public Overrides Sub Extract(ByVal sender As Object, ByVal e As ExtractionEventArgs)
e.Success = False
If Not e.Response.HtmlDocument Is Nothing Then
' Gets all input tags
Dim tag As HtmlTag
For Each tag In e.Response.HtmlDocument.GetFilteredHtmlTags(New String() {"input"})
' Verify if current tag is a checkbox
If tag.GetAttributeValueAsString("type") = "checkbox" Then
' Is the check box checked
If tag.GetAttributeValueAsString("checked") = "CHECKED" Then
' Add checked checkbox to context
If isChecked = True Then
e.WebTest.Context.Add(myContextParameter + "_" + _
tag.GetAttributeValueAsString("id"), "Is Checked")
e.Success = True
End If
Else ' The check box is not checked
If isChecked = False Then
' Add non-checked boxes to context
e.WebTest.Context.Add(myContextParameter + "_" + _
tag.GetAttributeValueAsString("id"), "Is Not Checked")
e.Success = True
End If
End If
End If
Next
End If
If e.Success = True Then
e.Message = "Extracted check boxes."
Else
e.Message = "No check boxes extracted."
End If
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
Codificando uma regra de extração personalizada para um teste de desempenho para Web
[obsoleto] Como adicionar uma regra de extração a um teste de desempenho na Web
Hierarquia de herança
Object
Microsoft.VisualStudio.TestTools.WebTesting.ExtractionRule
Microsoft.VisualStudio.TestTools.WebTesting.ExtractHtmlSelectTag
Microsoft.VisualStudio.TestTools.WebTesting.ExtractHtmlTagInnerText
Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractAttributeValue
Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractFormField
Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractGuids
Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields
Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHttpHeader
Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractRegularExpression
Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText
Microsoft.VisualStudio.TestTools.WebTesting.Rules.SharePointExtractFormField2
Microsoft.VisualStudio.TestTools.WebTesting.Rules.SharePointExtractListViewWebPartScriptValues
Microsoft.VisualStudio.TestTools.WebTesting.Rules.SharePointExtractSelectFormField
Microsoft.VisualStudio.TestTools.WebTesting.Rules.SharePointExtractViaKeyString
Microsoft.VisualStudio.TestTools.WebTesting.Rules.SharePointFindCalendarDates
Microsoft.VisualStudio.TestTools.WebTesting.Rules.SharePointFindCalendarItems
Microsoft.VisualStudio.TestTools.WebTesting.Rules.SharePointFindDocumentItems
Microsoft.VisualStudio.TestTools.WebTesting.Rules.SharePointFindHrefs
Microsoft.VisualStudio.TestTools.WebTesting.Rules.SharePointFindListItems
Microsoft.VisualStudio.TestTools.WebTesting.Rules.SharePointFindWorkFlowInstances