El propósito de Selenium es crear pruebas de integración basadas en UI .
Las pruebas de integración verifican que todos los componentes de su sistema funcionan correctamente cuando se implementan juntos. Pruebas de integración no son una estrategia de prueba suficiente y complementan otras estrategias de ensayo que tienen un enfoque diferente, por ejemplo, pruebas unitarias y pruebas de aceptación .
Las pruebas basadas en la interfaz de usuario son inherentemente frágiles, aunque Selenium y Watir son un paso adelante desde los primeros días de las herramientas de grabación y reproducción . Hay varias formas de abordar este problema: aquí hay una recopilación de consejos de algunos expertos de clase mundial:
No intente obtener toda su cobertura de prueba de este tipo de pruebas . Robert C. Martin argumenta que la cobertura de su código mediante pruebas de integración debería ser aproximadamente del 20% . Simplemente no es práctico probar todas las rutas de ejecución cuando la entrada está a varias capas de aplicación.
Obtenga la mayor parte de la cobertura de las pruebas de unidad y de aceptación . Busque enlaces a los artículos de Gojko Adzic en la respuesta de FinnNk . Adzic discutió repetidamente sobre probar la lógica empresarial a través de pruebas de aceptación y omitiendo la interfaz de usuario.
Pero aún es necesario escribir cierta cantidad de pruebas basadas en la interfaz de usuario . Aquí es donde necesita algunos consejos prácticos además de "no pruebe su lógica empresarial a través de la interfaz de usuario". Recomendaría el blog de Patrick Wilson-Welsh como punto de partida.