Sdílet prostřednictvím


ExtractionRule.Extract – metoda

Při přepsání v odvozené třídě, tato metoda extrahuje informace z HtmlDocument a umístí jej do WebTestContext.

Obor názvů:  Microsoft.VisualStudio.TestTools.WebTesting
Sestavení:  Microsoft.VisualStudio.QualityTools.WebTestFramework (v Microsoft.VisualStudio.QualityTools.WebTestFramework.dll)

Syntaxe

'Deklarace
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

Poznámky

Tato metoda obsahuje základní funkce pro extrakci.Tato metoda má odpovědnost extrahování dat z odpovědi.

Poznámky pro dědice

Když v odvozené třídě Extract metoda přidá hodnotu extrahované WebTestContext podle e.WebTest.Context.Název přidaná hodnota WebTestContext je nastaven ContextParameterName vlastnost.Pokud je extrakce úspěch, e.Success je nastavena na true; jinak by měla být nastavena false.

Příklady

Následuje test výkonu Web, který používá pravidlo ExtractCheckBoxes vlastní extrakce.Tento kód lze nalézt na adrese ExtractionRule.Kód zkontroluje existenci zaškrtávací políčka HtmlDocument poskytované WebTestResponse obsažené v ExtractionEventArgs.Výsledky jsou výsledkem chybná Engine 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;
        }
    }
}

Je kódované test výkonu Web nazvaný MyCodedWebTest, které dědí z ThreadedWebTest.Tento test se extrahuje skrytých polí.Druhý požadavek účtuje formuláře informace obsažené v v tři ovládací prvky zpět na 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

Zabezpečení rozhraní .NET Framework

Viz také

Referenční dokumentace

ExtractionRule Třída

Microsoft.VisualStudio.TestTools.WebTesting – obor názvů

Další zdroje

Jak: vytvořit vlastní pravidlo pro extrakci pro Test výkonnosti webové