J'ai un ensemble de tests Selenium/MbUnit qui fonctionnent bien, mais ont tendance à prendre un peu de temps pour s'exécuter (plus de 4 heures) Un problème que je trouve est que environ 1 test sur 20 semble pour expirer en cours d'exécution. J'ai confirmé que la grille de sélénium fonctionne et que les sélections de sélénium sont parfaites, il semble que ce soit un système du système. Ce qui est vraiment ennuyeux, c'est que si j'exécute ces tests, ils passeront généralement.Redémarrage automatique des tests qui échouent
Ce que je veux savoir est s'il y a un moyen pour moi d'auto ré-exécuter les essais (probablement dans le code) si un type perticular d'exception est pris ...
J'ai essayé de mettre un peu lignes de code dans la déclaration catch mais je sais que c'est une façon très hacky de relancer les tests. Voici le code:
catch (AssertionException e)
{
if (e.Message() == "TimeOut") //Something similar to this
{
this.Test();
}
else
{
verificationErrors.AppendLine(browserList[i] + " :: " + e.Message);
}
}
Des suggestions?