Aracılığıyla paylaş


ExtractionRule.Extract Yöntem

Türetilmiş bir sınıfta geçersiz kılınmış, bu yöntem bilgileri ayıklar bir HtmlDocument içine yerleştirir ve WebTestContext.

Ad alanı:  Microsoft.VisualStudio.TestTools.WebTesting
Derleme:  Microsoft.VisualStudio.QualityTools.WebTestFramework (Microsoft.VisualStudio.QualityTools.WebTestFramework.dll içinde)

Sözdizimi

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

Parametreler

Notlar

Bu yöntem, çekirdek ayıklama işlevleri içerir. Bu yöntem verileri ayıklama yanıtından sorumluluğunu vardır.

Devralanlara Notlar

Türetilmiş bir sınıfta geçersiz kılınmış, Extract yöntemi ekler ayıklanan değerin WebTestContext tarafından sağlanan e.WebTest.Context. İçin katma değer adı WebTestContext ile set ContextParameterName özelliği. Ayıklama işlemi bir başarı ise e.Success ayarlamak true; Aksi halde onu ayarlanması gerektiğini false.

Örnekler

ExtractCheckBoxes özel ayıklama kuralını kullanan bir Web performans testi aşağıdadır. Bu kod şu adreste bulunabilir: ExtractionRule. Kodu onay kutularında varlığını denetler HtmlDocument tarafından sağlanan WebTestResponse içerdiği ExtractionEventArgs. Sonuçları test motoru veriyor.

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("http://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;
        }
    }
}

Devraldığı MyCodedWebTest adlı kodlanmış bir Web performans testi şudur ThreadedWebTest. Bu sınama, gizli alanları ayıklar. İkinci istek formu bilgilerini sunucuya geri göndermek için üç denetimlerde bulunan deftere nakleder.

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 _
                ("http://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 _
                ("http://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

.NET Framework Güvenliği

Ayrıca bkz.

Başvuru

ExtractionRule Sınıf

Microsoft.VisualStudio.TestTools.WebTesting Ad Alanı

Diğer Kaynaklar

Web Performans Testi için Özel bir Ayıklama Kuralı Nasıl Oluşturulur