2009-08-03 8 views
1

Ich muss einen Webtest stoppen, wenn eine Extraktionsregel fehlschlägt.Stoppen eines Webtests, wenn eine Extraktionsregel fehlgeschlagen ist

Der Extrakt Verfahren der Extraktionsregel-Klasse wie folgt aussieht:

public override void Extract(object sender, ExtractionEventArgs e) 
{ 
    try 
    { 
     // fancy logic going on here 
    } 
    catch (ExtractionException ex) 
    { 
     e.Message = ex.Message; 
     e.Success = false; 
    } 
} 

Die Lösung I über dachte ist eine StopTestRequestPlugin Klasse von WebTestRequestPlugin und in dem Körper des PostRequest Verfahrens abgeleitet zu definieren jede zu überprüfen, ob der Extraktionsregeln fehlgeschlagen und stoppen Sie den Test. Auf diese Weise kann ich diese Klasse jedem Test zuweisen, ohne den Code für den Test oder die involvierten Extraktionsregeln zu ändern.

Gibt es eine Möglichkeit, auf die ExtractionRule-Objekte zuzugreifen, für die die Extract-Methoden als Ereignishandler für die Anforderung festgelegt wurden?

Ich verwende Visual Studio 2005 und .NET 2.0.

Antwort

0

Können Sie die Eigenschaft eventargs.Success nicht im Webtest überprüfen? Eine einfache if-Anweisung sollte ausreichen, um zu verhindern, dass die nachfolgenden Anfragen im Webtest ausgeführt werden.

+0

Danke für die Antwort, Nat. Wahrscheinlich so etwas, aber ich möchte alle ExtractionRules durchlaufen, die einer Anfrage zugewiesen sind, und das ist es, was ich nicht weiß. Darüber hinaus möchte ich, dass die Lösung so flexibel wie möglich ist, um sie mit jedem Test verwenden zu können, ohne den Code der Webtest- oder Extraktionsregeln zu ändern. Daher dachte ich, dass ein WebTestRequestPlugin geeignet wäre. – Paul