質問

私は正常に動作するセレン/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
{
    // ...
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top