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
sender
Typ: ObjectZdroj události.
e
Typ: Microsoft.VisualStudio.TestTools.WebTesting.ExtractionEventArgsExtractionEventArgs , Která obsahuje data události.
Poznámky
Tato metoda obsahuje základní funkce pro extrakci.Tato metoda odpovídá extrahování dat z odpovědi.
Poznámky pro dědice
Při přepsání v odvozené třídě Extract metoda přidá extrahované hodnoty WebTestContext od e.WebTest.Context.Název přidaná hodnota WebTestContext nastavena ContextParameterName vlastnost.Pokud po extrakci je úspěch, e.Success je nastavena na true; v opačném případě je třeba nastavit na false.
Příklady
Následuje test výkonnosti Web, který používá vlastní extrakce pravidlo ExtractCheckBoxes.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á zkušební stroje.
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;
}
}
}
Následuje kódované test výkonnosti Web nazvaný MyCodedWebTest, která dědí z ThreadedWebTest.Tento test se extrahuje pole Skrytá.Druhá žádost odešle formulář informace obsažené v rámci tří ovládacích prvků 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
- Plná důvěra přímému volajícímu. Částečně zabezpečený kód nemůže tento člen použít. Další informace naleznete v tématu Používání knihoven z částečně důvěryhodného kódu.
Viz také
Referenční dokumentace
Microsoft.VisualStudio.TestTools.WebTesting – obor názvů
Další zdroje
Vytvoření vlastního pravidla extrakce pro test výkonnosti webu