如果提取规则失败,停止webtest

问题描述:

如果提取规则失败,我需要停止运行Web测试。如果提取规则失败,停止webtest

提取规则类的提取方法是这样的:

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

我在想解决的办法是定义从WebTestRequestPlugin并在PostRequest方法的主体派生的StopTestRequestPlugin类来检查是否有任何的提取规则失败并停止测试。通过这种方式,我可以将此类指定给任何测试,而无需更改测试代码或涉及的提取规则。

有没有办法访问提取方法设置为请求的事件处理程序的ExtractionRule对象?

我正在使用Visual Studio 2005和.NET 2.0。

你不能检查webtest中的eventargs.Success属性吗?一个简单的if语句应该足以防止webtest中的连续请求执行。

+0

感谢您的回答,纳特。 可能是这样的,但我想遍历所有分配给请求的ExtractionRules,这是我不知道该怎么做的。此外,我希望解决方案尽可能灵活,以便能够在任何测试中使用它,而无需修改webtest或提取规则代码,因此我认为WebTestRequestPlugin可能适合。 – Paul 2009-10-16 10:34:45