2010-06-04 183 views
1

我有一套Selenium/MbUnit测试工作正常,但往往需要一段时间才能运行(超过4小时)我发现的一个问题是,大约有20分之一的测试似乎运行时超时。我已经证实Selenium GRID工作正常,Selenium RC都很好,它似乎只是系统的一个问题。然而,真正令人讨厌的是,如果我再次运行这些测试,他们通常会通过。自动重新运行测试失败

我想知道的是,如果有重新运行测试(可能是代码),如果异常的perticular类型被捕获的方式为我自动...

我试图把几个catch语句中的代码行,但我知道这是重新运行测试的一种非常不好的方式。这里是代码:

catch (AssertionException e) 
      { 
       if (e.Message() == "TimeOut") //Something similar to this 
       { 
         this.Test(); 
       } 
       else 
       { 
        verificationErrors.AppendLine(browserList[i] + " :: " + e.Message); 
       } 
      } 

有什么建议吗?

回答

1

这可能不是您的问题的真正答案,但由于问题与运行测试时发生的超时问题有关,您是否尝试过使用TimeoutAttribute更改默认超时值(我相信10分钟)?

[TestFixture, Timeout(3600)] // Use 1 hour instead. 
public class MyTestFixture 
{ 
    // ... 
} 
相关问题