質問
私は正常に動作するセレン/Mbunitテストのセットを持っていますが、実行するのに時間がかかる傾向があります(4時間以上)私が見つけている問題は、20分の1テストの1つが実行時にタイムアウトするように見えることです。 Seleniumグリッドが機能していることを確認しましたが、Selenium RCはすべて問題ありません。システムのQwerkのようです。本当に迷惑なのは、これらのテストを再度実行すると、通常合格することです。
私が知りたいのは、例外のタイプの例外がキャッチされている場合(おそらくコードで)テストを自動再実行する方法があるかどうかです...
Catchステートメントに数行のコードを入れようとしましたが、これはテストを実行する非常にハッキーな方法であることを知っています。これがコードです:
catch (AssertionException e)
{
if (e.Message() == "TimeOut") //Something similar to this
{
this.Test();
}
else
{
verificationErrors.AppendLine(browserList[i] + " :: " + e.Message);
}
}
助言がありますか?
解決
おそらくあなたの質問に対する本当の答えではありませんが、問題はテストの実行中にタイムアウトの問題に関連しているため、使用してデフォルトのタイムアウト値(10分)を変更しようとしましたか? TimeoutAttribute
?
[TestFixture, Timeout(3600)] // Use 1 hour instead.
public class MyTestFixture
{
// ...
}
所属していません StackOverflow