Frage

Ich habe eine Reihe von Selenium-/Mbunit -Tests, die gut funktionieren, aber es dauert eine Weile, bis ich eine Weile läuft (über 4 Stunden). Ich stelle fest, dass etwa 1 zu 20 Tests beim Laufen zu Timeout zu sein scheint. Ich habe bestätigt, dass das Seleniumraster funktioniert und die Selen RC's alle in Ordnung sind, es scheint nur ein Qwerkern des Systems zu sein. Was jedoch wirklich ärgerlich ist, ist, dass sie normalerweise bestehen, wenn ich diese Tests wieder durchführe.

Was ich wissen möchte, ist, ob es mir eine Möglichkeit gibt, die Tests (wahrscheinlich im Code) zu automatisieren, wenn eine pertikuläre Art von Ausnahme gefangen wird ...

Ich habe versucht, ein paar Codezeilen in die Catch -Anweisung zu setzen, aber ich weiß, dass dies eine sehr hackige Art ist, die Tests wieder durchzuführen. Hier ist der Code:

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

Irgendwelche Vorschläge?

War es hilfreich?

Lösung

Es ist wahrscheinlich keine wirkliche Antwort auf Ihre Frage, aber da das Problem mit einem Timeout -Problem zusammenhängt, das beim Ausführen der Tests auftritt TimeoutAttribute?

[TestFixture, Timeout(3600)] // Use 1 hour instead.
public class MyTestFixture
{
    // ...
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top