Udostępnij za pośrednictwem


Metoda ExtractionRule.Extract —

Po zastąpieniu w klasie pochodnej, ta metoda wyodrębnia informacje z HtmlDocument i umieszcza go w WebTestContext.

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

Składnia

'Deklaracja
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
)

Parametry

  • sender
    Typ: Object

    Źródło zdarzenia.

Uwagi

Metoda ta zawiera podstawowe funkcje ekstrakcji.Ta metoda jest odpowiedzialny za wyodrębnianie danych z odpowiedzi.

Uwagi dotyczące dziedziczenia

Po zastąpieniu w klasie pochodnej, Extract metoda dodaje wartości wyodrębnione do WebTestContext dostarczonych przez e.WebTest.Context.Nazwa dla wartości dodanej do WebTestContext zestaw z ContextParameterName właściwości.Jeśli ekstrakcji jest sukcesem, e.Success jest ustawiona na true; w przeciwnym razie powinny one być ustawione na false.

Przykłady

Oto testu wydajności sieci Web, korzystającego z reguły niestandardowe ekstrakcji ExtractCheckBoxes.Kod ten można znaleźć w ExtractionRule.Kod sprawdza istnienie pola wyboru w HtmlDocument dostarczonych przez WebTestResponse uwzględnioną w ExtractionEventArgs.Wyniki uzyskane na badanym silniku.

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;
        }
    }
}

Oto kodowane jako testu wydajności sieci Web o nazwie MyCodedWebTest, która dziedziczy z ThreadedWebTest.Ten test wyodrębnia ukryte pola.Drugie żądanie księguje formularz informacje zawarte w trzy formanty do serwera.

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

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

ExtractionRule Klasa

Przestrzeń nazw Microsoft.VisualStudio.TestTools.WebTesting

Inne zasoby

Kodowanie niestandardowej reguły wyodrębniania dla testów wydajności sieci Web