Metodo ExtractionRule.Extract

Una volta sottoposto a override in una classe derivata, questo metodo estrae le informazioni da un oggetto HtmlDocument e inserisce in WebTestContext.

Spazio dei nomi:  Microsoft.VisualStudio.TestTools.WebTesting
Assembly:  Microsoft.VisualStudio.QualityTools.WebTestFramework (in Microsoft.VisualStudio.QualityTools.WebTestFramework.dll)

Sintassi

'Dichiarazione
Public MustOverride Sub Extract ( _
    sender As Object, _
    e As ExtractionEventArgs _
)
public abstract void Extract(
    Object sender,
    ExtractionEventArgs e
)
public:
virtual void Extract(
    Object^ sender, 
    ExtractionEventArgs^ e
) abstract
abstract Extract : 
        sender:Object * 
        e:ExtractionEventArgs -> unit 
public abstract function Extract(
    sender : Object, 
    e : ExtractionEventArgs
)

Parametri

Note

Questo metodo contiene le funzionalità principali di estrazione.Questo metodo ha la responsabilità di estrarre i dati dalla risposta.

Note per gli eredi

Una volta sottoposto a override in una classe derivata, Extract il metodo aggiunge il valore estratto a WebTestContext dato e.WebTest.Context.Il nome del valore aggiunto a WebTestContext è impostato con ContextParameterName proprietà.Se estrazione è un esito positivo, e.Success è impostato su true; altrimenti dovrebbe essere impostata su false.

Esempi

L'esempio seguente è un test Web che utilizza la regola di estrazione personalizzata di ExtractCheckBoxes.Il codice per questo è disponibile a ExtractionRule.Il codice controlla la presenza delle caselle di controllo in HtmlDocument fornito da WebTestResponse ciò è contenuto in ExtractionEventArgs.I risultati vengono dati al motore di test.

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

    public class MyWebTest : WebTest
    {
        public MyWebTest()
        {
            this.PreAuthenticate = true;
        }

        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest request1 = new WebTestRequest("https://localhost/ts");
            ExtractCheckBoxes rule1 = new ExtractCheckBoxes();
            rule1.FindCheckedBoxes = true;
            rule1.ContextParameterName = "CheckedBoxes";
            request1.ExtractValues += new EventHandler
                <ExtractionEventArgs>(rule1.Extract);
            ExtractCheckBoxes rule2 = new ExtractCheckBoxes();
            rule2.FindCheckedBoxes = false;
            rule2.ContextParameterName = "";
            request1.ExtractValues += new EventHandler
                <ExtractionEventArgs>(rule2.Extract);
            yield return request1;
        }
    }
}

L'esempio seguente è un test Web codificato chiamato MyCodedWebTest che eredita da ThreadedWebTest.questo test estrae i campi nascosti.La seconda richiesta inserisce le informazioni del form contenuto in tre controlli al server.

Option Strict Off
Option Explicit On

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

Namespace TestProject2
    
    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/MyWebSite")
            request1.ThinkTime = 1
            Dim rule1 As ExtractHiddenFields = New ExtractHiddenFields
            rule1.ContextParameterName = "1"
            AddHandler request1.ExtractValues, AddressOf rule1.Extract
            MyBase.Send(request1)

            Dim request2 As WebTestRequest = New WebTestRequest _
                ("https://localhost/MyWebSite/Default.aspx")
            request2.Method = "POST"
            Dim request2Body As FormPostHttpBody = New FormPostHttpBody
            request2Body.FormPostParameters.Add("__VIEWSTATE", "{{$HIDDEN1" + _
                ".__VIEWSTATE}}")
            request2Body.FormPostParameters.Add("Button1", "Button")
            request2Body.FormPostParameters.Add("TextBox1", "Hello text")
            request2.Body = request2Body
            Dim rule2 As ExtractHiddenFields = New ExtractHiddenFields
            rule2.ContextParameterName = ""
            AddHandler request2.ExtractValues, AddressOf rule2.Extract
            MyBase.Send(request2)
        End Sub
    End Class
End Namespace

Sicurezza di .NET Framework

Vedere anche

Riferimenti

ExtractionRule Classe

Spazio dei nomi Microsoft.VisualStudio.TestTools.WebTesting

Altre risorse

Procedura: creare una regola di estrazione personalizzata per un test delle prestazioni Web