selenium nunit teamcity

selenium - Cómo ejecutar solo pruebas de nunidad fallidas en Teamcity Build



nunit (2)

Tengo muchas pruebas en selenio que tomaron casi 6 horas para completar. Después de la ejecución, algunos de ellos fallaron debido a un error de tiempo de espera o errores inevitables. Solo quiero ejecutar pruebas fallidas en ese caso. Estoy usando teamcity para ejecutar las pruebas de nunit. Alguna idea de cómo puedo volver a ejecutar solo las pruebas fallidas.


Existe una opción para ejecutar pruebas fallidas primero como parte de la integración de nUnit de TeamCity, pero no se puede limitar a solo pruebas fallidas, nada de esto está integrado.

Tienes un par de opciones aquí en mi opinión:

  • Use una red de Selenium / otra infraestructura para ejecutar sus pruebas de Selenium en paralelo para reducir el tiempo de ejecución de la prueba. Esta parece ser la raíz de su problema: actualmente el tiempo para hacer una prueba completa es prohibitivo. Si puede ejecutar sus pruebas de Selenium rápidamente, no necesitaría ejecutarlas selectivamente. En general, usar el corredor nUnit integrado es una mala opción a largo plazo porque no permite el paralelismo.
  • Basándose en las fallas que está viendo, determine los dispositivos de prueba nUnit y realice una ejecución nUnit personalizada donde simplemente transfiere esos dispositivos de prueba para volver a ejecutar; nuevamente, no hay integración para esto y tendría que usar la línea de comando nUnit runner.

Existen algunas opciones según el marco de prueba que esté utilizando para que pueda realizar pruebas de lanzamiento de teamcity con criterios más flexibles mediante el uso de opciones de línea de comando. Usamos esta solución en nuestro entorno de prueba inestable.

Con NUnit , es posible utilizar el archivo de salida filtrado (según la prueba fallida) como la lista de prueba dada para la próxima ejecución. Hay varias maneras de buscar y configurar la lista y puede encontrar detalles aquí: https://github.com/nunit/docs/wiki/Console-Command-Line

Hay dos opciones rápidas:

  • guarda / agrega la lista con pruebas fallidas en un archivo (con el uso del script de powershell)
  • lea el último archivo de resultados de prueba y use la cláusula where para obtener las pruebas fallidas

Con cada ejecución, la lista con pruebas debería reducirse.

Tenga en cuenta:

  • las construcciones no son fáciles de comparar (teamcity calcula el tiempo de ejecución o si tiene condiciones de falla basadas en cambios métricos)
  • Los errores (nuevos) en otras pruebas no se detectarán hasta que vuelva a iniciar todas las pruebas