Pregunta

Mi proyecto actual usa NUnit para pruebas unitarias y para conducir UATs escritas con Selenium. Los desarrolladores normalmente ejecutan pruebas utilizando el corredor de prueba de ReSharper en VS.Net 2003 y nuestra caja de compilación las inicia a través de NAnt.

Nos gustaría ejecutar las pruebas de UAT en paralelo para que podamos aprovechar Selenium Grid / RC para que puedan ejecutarse mucho más rápido.

¿Alguien tiene alguna idea sobre cómo se podría lograr esto? y / o las mejores prácticas para probar las pruebas de Selenium en entornos de múltiples navegadores sin escribir pruebas duplicadas automáticamente?

Gracias.

¿Fue útil?

Solución

No ha habido mucho trabajo sobre este tema. No encontré nada realmente relevante.

Sin embargo, su punto está bien tomado. Hoy en día, la mayoría de las máquinas tienen más núcleos y núcleos menos potentes en comparación con la potente CPU de un núcleo.

Así que encontré algo en un blog de Microsoft. La tecnología se llama PUnit y está hecha especialmente para probar entornos de subprocesos múltiples.

Es lo más cercano posible a lo que solicitaste que pude encontrar :)

Puede visitar la publicación del blog correspondiente allí mismo: http://blogs.microsoft.co.il/blogs/eyal/archive/2008/07/09/punit-parallel-unit-testing-in-making.aspx

Actualizar: el enlace ya no es válido. El proyecto en CodePlex ha sido eliminado.

Update2: esto está en la hoja de ruta para NUnit 2.5. Referencia

Otros consejos

Luché con estos dos problemas yo mismo. Al final, desarrollé un corredor de prueba Nunit personalizado que es capaz de ejecutar múltiples pruebas en paralelo. Esto, combinado con la extensión Taumuon.Rakija para nunit, permitió que las pruebas se crearan dinámicamente dependiendo del navegador en el que desea que se ejecute la prueba.

Ahora estoy en una posición en la que puedo iniciar mi suite de prueba contra tantos tipos de navegadores en tantos sistemas operativos como desee en paralelo.

Lamentablemente, parece que ya no hay una buena solución para estos problemas, por lo que probablemente tendrá que resolverlos usted mismo para su entorno particular.

NUnit versión 3 admitirá la ejecución de pruebas en paralelo, esto funciona bien con un Selenium Grid:

Agregar el atributo a una clase: [Parallelizable (ParallelScope.Self)] ejecutará sus pruebas en paralelo con otras clases de prueba.

  

& # 8226; ParallelScope.None indica que la prueba no se puede ejecutar en paralelo   con otras pruebas

     

& # 8226; ParallelScope.Self indica que la prueba   Se puede ejecutar en paralelo con otras pruebas.

     

& # 8226; ParallelScope.Children indica que los descendientes de la prueba pueden   ejecutarse en paralelo uno con respecto al otro.

     

& # 8226; ParallelScope.Fixtures indica que los dispositivos se pueden ejecutar en paralelo   el uno con el otro.

NUnit Framework-Parallel-Test-Execution

Igor Brejc tiene una publicación en el blog sobre la ejecución de pruebas en paralelo utilizando MbUnit.

Sin embargo, sí dice "una vez que integramos Selenium en las pruebas de aceptación", por lo que parece que estaba experimentando, no puedo encontrar ninguna otra publicación, así que no sé si ha ejecutado con éxito las pruebas de Selenium en paralelo .

http://igorbrejc.net/development/continuous -integration / gallio-running-tests-in-parallel

Puede usar la Biblioteca de tareas paralelas y la clase DynamicObject para lograr la paralelización de la misma prueba en varios navegadores. Consulte mi artículo Ejecución de Selenium en paralelo con cualquier herramienta de prueba de unidad .NET para más detalles.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top