Domanda

Ho una serie di selenio / MbUnit test che funzionano bene, ma tendo a prendere un po 'di corsa (oltre 4 ore) Un problema che sto trovando è che circa 1 su 20 di prova sembra timeout durante l'esecuzione. Ho confermato il selenio GRID sta lavorando e le di selenio RC sono tutti bene, sembra solo essere un qwerk del sistema. Quello che è veramente fastidioso, però, è che se ho eseguito di nuovo questi test che di solito passano.

Quello che voglio sapere è se c'è un modo per me di auto eseguire nuovamente il test (probabilmente nel codice), se un tipo perticular d'eccezione e 'colto in ...

Ho cercato di mettere un paio di righe di codice nel catch, ma so che questo è un modo molto hacky di ri eseguire i test. Ecco il codice:

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

Qualche suggerimento?

È stato utile?

Soluzione

Probabilmente non è una vera e propria risposta alla tua domanda, ma dal momento che il problema è legato ad un problema di timeout che si verificano durante l'esecuzione dei test, hanno si è tentato di modificare il valore di timeout predefinito (di 10 minuti credo) utilizzando TimeoutAttribute ?

[TestFixture, Timeout(3600)] // Use 1 hour instead.
public class MyTestFixture
{
    // ...
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top