ExtractionRule (Clase)
Clase base utilizada para definir las reglas de obtención de datos de una respuesta web generada por una prueba de rendimiento web.
Jerarquía de herencia
System.Object
Microsoft.VisualStudio.TestTools.WebTesting.ExtractionRule
Más información...
Espacio de nombres: Microsoft.VisualStudio.TestTools.WebTesting
Ensamblado: Microsoft.VisualStudio.QualityTools.WebTestFramework (en Microsoft.VisualStudio.QualityTools.WebTestFramework.dll)
Sintaxis
'Declaración
Public MustInherit Class ExtractionRule
public abstract class ExtractionRule
public ref class ExtractionRule abstract
[<AbstractClass>]
type ExtractionRule = class end
public abstract class ExtractionRule
El tipo ExtractionRule expone los siguientes miembros.
Constructores
Nombre | Descripción | |
---|---|---|
ExtractionRule | Inicializa una nueva instancia de la clase ExtractionRule. |
Arriba
Propiedades
Nombre | Descripción | |
---|---|---|
ContextParameterName | Obtiene o establece el nombre del contexto de la propiedad extraída. | |
RuleDescription | Obsoleto. Ya no se utiliza este método.Utilice DisplayNameAttribute en la clase para establecer una descripción de esta regla. | |
RuleName | Obsoleto. Ya no se utiliza este método.Utilice DisplayNameAttribute en la clase para establecer un nombre para mostrar para esta regla. |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
Equals | Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object). | |
Extract | Cuando se reemplaza en una clase derivada, este método extrae información de un objeto HtmlDocument y la sitúa en WebTestContext. | |
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). | |
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). | |
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). | |
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). | |
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
Arriba
Comentarios
La clase ExtractionRule debe estar heredada por cualquier regla de extracción tanto si está escrita por el usuario o está integrada.Se ejecutan las reglas de extracción que están asociadas a la definición de la solicitud una vez recibida una respuesta, y los resultados de la extracción se agregan a WebTestContext.
Notas para los herederos
Cuando se hereda de ExtractionRule, deben reemplazarse los miembros siguientes: Extract, RuleDescription y RuleName.
Ejemplos
La regla de extracción personalizada siguiente extrae las casillas de HtmlDocument y coloca el estado de las casillas encontradas en el 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
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Vea también
Referencia
Microsoft.VisualStudio.TestTools.WebTesting (Espacio de nombres)
Otros recursos
Cómo: Crear una regla de extracción personalizada para una prueba de rendimiento web
Cómo: Agregar una regla de extracción a una prueba de rendimiento web
Jerarquía de herencia
System.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