我有一组工作正常的 Selenium/MbUnit 测试,但往往需要一段时间才能运行(超过 4 小时) 我发现的一个问题是大约 20 分之一的测试似乎在运行时超时。我已经确认 Selenium GRID 正在工作并且 Selenium RC 都很好,它似乎只是系统的一个 qwerk。真正令人讨厌的是,如果我再次运行这些测试,它们通常会通过。
我想知道的是,如果捕获到特定类型的异常,我是否有办法自动重新运行测试(可能在代码中)......
我试图在 catch 语句中添加几行代码,但我知道这是重新运行测试的一种非常老套的方法。这是代码:
catch (AssertionException e)
{
if (e.Message() == "TimeOut") //Something similar to this
{
this.Test();
}
else
{
verificationErrors.AppendLine(browserList[i] + " :: " + e.Message);
}
}
有什么建议么?