Pregunta

Tengo un conjunto de pruebas de selenio/mbunit que funcionan bien, pero tienden a tardar un tiempo en ejecutar (más de 4 horas) un problema que estoy encontrando es que aproximadamente 1 de cada 20 pruebas parece tiempo de espera cuando se ejecuta. Confirmé que la cuadrícula de Selenium está funcionando y los RC de Selenium están bien, todo parece ser un Qwerk del sistema. Sin embargo, lo que es realmente molesto es que si ejecuto estas pruebas nuevamente, generalmente pasarán.

Lo que quiero saber es si hay una manera de volver a ejecutar las pruebas (probablemente en el código) si se atrapa un tipo de excepción perticular ...

He intentado poner algunas líneas de código en la declaración de captura, pero sé que esta es una forma muy hacky de volver a ejecutar las pruebas. Aquí está el código:

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

¿Alguna sugerencia?

¿Fue útil?

Solución

Probablemente no sea una respuesta real a su pregunta, pero dado que el problema está relacionado con un problema de tiempo de espera que ocurre al ejecutar las pruebas, ¿ha intentado cambiar el valor de tiempo de espera predeterminado (de 10 minutos, creo) usando TimeoutAttribute?

[TestFixture, Timeout(3600)] // Use 1 hour instead.
public class MyTestFixture
{
    // ...
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top