У меня есть набор тестов Selenium / MbUnit, которые работают нормально, но, как правило, для их запуска требуется больше времени (более 4 часов). Проблема, которую я нахожу, заключается в том, что при выполнении теста 1 из 20 время ожидания истекает. Я подтвердил, что Selenium GRID работает, и с Selenium RC все в порядке, кажется, что это всего лишь вопрос системы. Что на самом деле раздражает, так это то, что если я снова запускаю эти тесты, они, как правило, проходят.
Что я хочу знать, так это то, есть ли способ автоматически перезапускать тесты (возможно, в коде), если обнаруживается исключение перикулярного типа ...
Я попытался вставить несколько строк кода в оператор catch, но я знаю, что это очень хакерский способ запуска тестов. Вот код:
catch (AssertionException e)
{
if (e.Message() == "TimeOut") //Something similar to this
{
this.Test();
}
else
{
verificationErrors.AppendLine(browserList[i] + " :: " + e.Message);
}
}
Есть предложения?