2009-08-03 5 views
1

Je dois arrêter l'exécution d'un test Web si une règle d'extraction échoue.Arrêt d'un test Web en cas d'échec d'une règle d'extraction

La méthode d'extraction de la classe de règle d'extraction ressemble à ceci:

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

La solution que je pensais est de définir une classe StopTestRequestPlugin dérivée de WebTestRequestPlugin et dans le corps de la méthode PostRequest pour vérifier le cas échéant des règles d'extraction a échoué et arrêter le test. De cette façon, je peux assigner cette classe à n'importe quel test, sans changer le code pour le test ou pour les règles d'extraction impliquées.

Existe-t-il un moyen d'accéder aux objets ExtractionRule dont les méthodes Extract ont été définies en tant que gestionnaires d'événements pour la demande? J'utilise Visual Studio 2005 et .NET 2.0.

Répondre

0

Ne pouvez-vous pas vérifier la propriété eventargs.Success à l'intérieur du test Web? Une simple instruction if devrait suffire à empêcher l'exécution des requêtes successives du webtest.

+0

Merci pour la réponse, Nat. Quelque chose comme ça probablement, mais je veux parcourir toutes les règles d'extraction assignées à une requête, et c'est ce que je ne sais pas comment faire. De plus, je souhaite que la solution soit aussi flexible que possible, afin de pouvoir l'utiliser avec n'importe quel test, sans modifier le code des webtest ou des règles d'extraction, donc j'ai pensé qu'un WebTestRequestPlugin serait adapté. – Paul

Questions connexes